PDF-vienti — Aspose.Note FOSS for Python

Aspose.Note FOSS for Python tukee ladattujen .one asiakirjojen vientiä PDF-muotoon Document.Save() kautta. PDF-renderöinti toteutetaan valinnaisella ReportLab -kirjastolla. Tämä on ainoa tällä hetkellä toteutettu tallennusmuoto; muut SaveFormat arvot aiheuttavat UnsupportedSaveFormatException.


Esivaatimukset

Asenna kirjasto [pdf] -lisäosan avulla, jotta ReportLab otetaan mukaan:

pip install "aspose-note[pdf]"

Vahvista:

python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"

Perusvienti

Vie kaikki asiakirjan sivut yhdeksi PDF‑tiedostoksi:

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

Sivut näkyvät PDF:ssä samassa järjestyksessä kuin ne näkyvät DOM:ssa.


PdfSaveOptions:n käyttäminen

PdfSaveOptions tarjoaa hienojakoista hallintaa viennissä. Käytä sitä pelkän SaveFormat-enumeraation sijaan:

from aspose.note import Document
from aspose.note.saving import PdfSaveOptions

opts = PdfSaveOptions()

doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)

Huomautus PageIndex / PageCount: Nämä kentät ovat olemassa PdfSaveOptions:ssä, mutta ei siirretä PDF-vientiin versiossa 26.3.1 eikä niillä ole vaikutusta. Koko asiakirja viedään aina.


PdfSaveOptions‑viite

PropertyTypeDefaultDescription
PageIndexint0Kenttä on olemassa, mutta ei lähetetä PDF-vientiin versiossa 26.3.1 (ei vaikutusta)
PageCountint | NoneNoneKenttä on olemassa, mutta ei lähetetä PDF-vientiin versiossa 26.3.1 (ei vaikutusta)

Erävienti

Muunna jokainen .one-tiedosto hakemistossa PDF-muotoon:

from pathlib import Path
from aspose.note import Document, SaveFormat

input_dir = Path("./notes")
output_dir = Path("./pdfs")
output_dir.mkdir(parents=True, exist_ok=True)

for one_file in sorted(input_dir.glob("*.one")):
    try:
        doc = Document(str(one_file))
        out = output_dir / one_file.with_suffix(".pdf").name
        doc.Save(str(out), SaveFormat.Pdf)
        print(f"OK  {one_file.name} -> {out.name}")
    except Exception as exc:
        print(f"ERR {one_file.name}: {exc}")

Lataa virrasta, tallenna tiedostoon

Yhdistä virta-pohjainen lataus tiedostopohjaiseen PDF-tulostukseen:

from pathlib import Path
from aspose.note import Document, SaveFormat

one_bytes = Path("MyNotes.one").read_bytes()

import io
doc = Document(io.BytesIO(one_bytes))
doc.Save("output.pdf", SaveFormat.Pdf)

Hae PDF‑tavut muistiin

Document.Save() hyväksyy binäärivirran suoraan: väliaikaista tiedostoa ei tarvita:

import io
from aspose.note import Document, SaveFormat
from aspose.note.saving import PdfSaveOptions

doc = Document("MyNotes.one")

buf = io.BytesIO()
doc.Save(buf, PdfSaveOptions())
pdf_bytes = buf.getvalue()
print(f"PDF size: {len(pdf_bytes)} bytes")

Tuetut SaveFormat-arvot

TallennusmuotoTila
SaveFormat.PdfToteutettu

Yleiset virheet

VirheSyyKorjaus
ImportError: No module named 'reportlab'[pdf] lisäosa ei asennettupip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionKäytetty ei-PDF SaveFormatKäytä vain SaveFormat.Pdf
IncorrectPasswordExceptionSalattu .one-tiedostoKäytä salaamatonta tiedostoa
FileNotFoundErrorSyötteen .one-polku on vääräVahvista polku käyttämällä Path.exists()
Permission error on outputTulostushakemisto ei ole kirjoitettavissaTarkista tulostushakemiston oikeudet
 Suomi