PDF-eksport — Aspose.Note FOSS for Python

Aspose.Note FOSS for Python supports exporting loaded .one dokumenter til PDF via Document.Save(). PDF rendering leveres af den valgfrie ReportLab bibliotek. Dette er det eneste gem-format, der i øjeblikket er implementeret; andre SaveFormat værdier udløser UnsupportedSaveFormatException.


Forudsætninger

Installer biblioteket med den [pdf] ekstra for at hente ReportLab:

pip install "aspose-note[pdf]"

Verificer:

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

Grundlæggende eksport

Eksporter alle sider i et dokument til en enkelt PDF-fil:

from aspose.note import Document, SaveFormat

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

Siderne vises i PDF’en i samme rækkefølge som de vises i DOM’en.


Brug af PdfSaveOptions

PdfSaveOptions giver finjusteret kontrol over eksporten. Send den i stedet for den blotte SaveFormat enum:

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

opts = PdfSaveOptions()

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

Bemærk om PageIndex / PageCount: Disse felter findes på PdfSaveOptions men er ikke videresendt til PDF-eksportøren i v26.3.1 og har ingen effekt. Hele dokumentet eksporteres altid.


PdfSaveOptions reference

EgenskabTypeStandardBeskrivelse
PageIndexint0Feltet findes, men ikke videresendt til PDF-eksportøren i v26.3.1 (har ingen effekt)
PageCount`intNone`None

Batch-eksport

Konverter hver .one fil i en mappe til PDF:

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}")

Indlæs fra stream, gem til fil

Kombinér stream-baseret indlæsning med filbaseret PDF-uddata:

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)

Hent PDF-bytes i hukommelsen

Document.Save() accepterer en binær strøm direkte: ingen midlertidig fil nødvendig:

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")

Understøttede SaveFormat‑værdier

SaveFormatStatus
SaveFormat.PdfImplementeret

Almindelige fejl

FejlÅrsagRettelse
ImportError: No module named 'reportlab'[pdf] ekstra ikke installeretpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionNon-PDF SaveFormat brugtBrug SaveFormat.Pdf kun
IncorrectPasswordExceptionKrypteret .one-filBrug en ukrypteret fil
FileNotFoundErrorIndtast .one-sti forkertVerificer sti med Path.exists()
Tilladelsesfejl ved outputOutput-mappen er ikke skrivbarTjek output-mappens tilladelser
 Dansk