PDF-Export — Aspose.Note FOSS für Python

Aspose.Note FOSS for Python supports exporting loaded .one Dokumente zu PDF via Document.Save(). PDF-Rendering wird von der optionalen ReportLab Bibliothek. Dies ist das einzige derzeit implementierte Speicherformat; andere SaveFormat Werte lösen aus UnsupportedSaveFormatException.


Voraussetzungen

Installieren Sie die Bibliothek mit dem [pdf] extra, um ReportLab zu beziehen:

pip install "aspose-note[pdf]"

Verifizieren:

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

Einfacher Export

Exportieren Sie alle Seiten eines Dokuments in eine einzelne PDF‑Datei:

from aspose.note import Document, SaveFormat

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

Die Seiten erscheinen im PDF in derselben Reihenfolge, in der sie im DOM vorkommen.


Verwendung von PdfSaveOptions

PdfSaveOptions bietet feinkörnige Kontrolle über den Export. Übergeben Sie es anstelle des nackten SaveFormat Enum:

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

opts = PdfSaveOptions()

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

Hinweis zu PageIndex / PageCount: Diese Felder existieren auf PdfSaveOptions aber sind nicht an den PDF exporter in v26.3.1 weitergeleitet und haben keine Wirkung. Das gesamte Dokument wird immer exportiert.


PdfSaveOptions‑Referenz

EigenschaftTypStandardBeschreibung
PageIndexint0Feld existiert, aber nicht an den PDF-Exporter in v26.3.1 weitergeleitet (hat keine Auswirkung)
PageCount`intNone`None

Batch‑Export

Konvertiere jede .one Datei in einem Verzeichnis zu 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}")

Aus Stream laden, in Datei speichern

Kombinieren Sie das streambasierte Laden mit dateibasiertem PDF‑Ausgabe:

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)

PDF‑Bytes im Speicher erhalten

Document.Save() akzeptiert einen Binärstrom direkt: keine temporäre Datei nötig:

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

Unterstützte SaveFormat Werte

SaveFormatStatus
SaveFormat.PdfImplementiert

Häufige Fehler

FehlerUrsacheBeheben
ImportError: No module named 'reportlab'[pdf] extra nicht installiertpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionNicht-PDF SaveFormat verwendetVerwenden SaveFormat.Pdf nur
IncorrectPasswordExceptionVerschlüsselte .one-DateiVerwenden Sie eine unverschlüsselte Datei
FileNotFoundErrorEingabe-.one-Pfad falschPfad überprüfen mit Path.exists()
Berechtigungsfehler bei der AusgabeAusgabeverzeichnis nicht beschreibbarÜberprüfen Sie die Berechtigungen des Ausgabeverzeichnisses
 Deutsch