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
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
PageIndex | int | 0 | Feld existiert, aber nicht an den PDF-Exporter in v26.3.1 weitergeleitet (hat keine Auswirkung) |
PageCount | `int | None` | 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
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Implementiert |
Häufige Fehler
| Fehler | Ursache | Beheben |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra nicht installiert | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Nicht-PDF SaveFormat verwendet | Verwenden SaveFormat.Pdf nur |
IncorrectPasswordException | Verschlüsselte .one-Datei | Verwenden Sie eine unverschlüsselte Datei |
FileNotFoundError | Eingabe-.one-Pfad falsch | Pfad überprüfen mit Path.exists() |
| Berechtigungsfehler bei der Ausgabe | Ausgabeverzeichnis nicht beschreibbar | Überprüfen Sie die Berechtigungen des Ausgabeverzeichnisses |