PDF‑export — Aspose.Note FOSS voor Python
Aspose.Note FOSS for Python supports exporting loaded .one documenten naar PDF via Document.Save(). PDF-rendering wordt geleverd door de optionele ReportLab bibliotheek. Dit is het enige opslaan-formaat dat momenteel is geïmplementeerd; andere SaveFormat waarden veroorzaken UnsupportedSaveFormatException.
Vereisten
Installeer de bibliotheek met de [pdf] extra om ReportLab binnen te halen:
pip install "aspose-note[pdf]"Verifiëren:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Basisexport
Exporteer alle pagina’s van een document naar één enkel PDF-bestand:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Pagina’s verschijnen in de PDF in dezelfde volgorde als ze in de DOM staan.
Gebruik van PdfSaveOptions
PdfSaveOptions biedt fijnmazige controle over de export. Geef het door in plaats van de kale SaveFormat enum:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Opmerking over PageIndex / PageCount: Deze velden bestaan op PdfSaveOptions maar zijn niet doorgestuurd naar de PDF-exporteur in v26.3.1 en hebben geen effect. Het volledige document wordt altijd geëxporteerd.
PdfSaveOptions-referentie
| Eigenschap | Type | Standaard | Beschrijving |
|---|---|---|---|
PageIndex | int | 0 | Veld bestaat maar niet doorgestuurd naar PDF-exporteur in v26.3.1 (heeft geen effect) |
PageCount | `int | None` | None |
Batch-export
Converteer elke .one bestand in een map naar 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}")Laden vanuit stream, opslaan naar bestand
Combineer stream-gebaseerd laden met bestand-gebaseerde PDF-uitvoer:
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 in geheugen ophalen
Document.Save() accepteert een binaire stream direct: geen tijdelijk bestand nodig:
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")Ondersteunde SaveFormat-waarden
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Geïmplementeerd |
Veelvoorkomende fouten
| Fout | Oorzaak | Oplossing |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra niet geïnstalleerd | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Niet-PDF SaveFormat gebruikt | Gebruik SaveFormat.Pdf alleen |
IncorrectPasswordException | Versleuteld .one-bestand | Gebruik een niet-versleuteld bestand |
FileNotFoundError | Invoerpad .one onjuist | Verifieer pad met Path.exists() |
| Machtigingsfout bij uitvoer | Uitvoermap niet schrijfbaar | Controleer de rechten van de uitvoermap |