PDF-export — Aspose.Note FOSS för Python
Aspose.Note FOSS for Python supports exporting loaded .one dokument till PDF via Document.Save(). PDF rendering tillhandahålls av den valfria ReportLab biblioteket. Detta är det enda sparformat som för närvarande är implementerat; andra SaveFormat värden utlöser UnsupportedSaveFormatException.
Förutsättningar
Installera biblioteket med den [pdf] extra för att hämta in ReportLab:
pip install "aspose-note[pdf]"Verifiera:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Grundläggande export
Exportera alla sidor i ett dokument till en enda PDF-fil:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Sidorna visas i PDF:en i samma ordning som de visas i DOM:en.
Användning av PdfSaveOptions
PdfSaveOptions ger finmaskig kontroll över exporten. Skicka den istället för den rena SaveFormat enum:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Obs på PageIndex / PageCount: Dessa fält finns på PdfSaveOptions men är inte vidarebefordrade till PDF-exportören i v26.3.1 och har ingen effekt. Hela dokumentet exporteras alltid.
PdfSaveOptions-referens
| Egenskap | Typ | Standard | Beskrivning |
|---|---|---|---|
PageIndex | int | 0 | Fältet finns men inte vidarebefordras till PDF-exportören i v26.3.1 (har ingen effekt) |
PageCount | `int | None` | None |
Batchexport
Konvertera varje .one fil i en katalog till 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}")Läs från ström, spara till fil
Kombinera ström-baserad inläsning med fil-baserad PDF-utmatning:
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)Hämta PDF-bytes i minnet
Document.Save() accepterar en binär ström direkt: ingen temporär fil behövs:
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")Stödda SaveFormat‑värden
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Implementerad |
Vanliga fel
| Fel | Orsak | Åtgärd |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra inte installerat | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Icke-PDF SaveFormat används | Använd SaveFormat.Pdf endast |
IncorrectPasswordException | Krypterad .one-fil | Använd en okrypterad fil |
FileNotFoundError | Fel .one-sökväg för inmatning | Verifiera sökväg med Path.exists() |
| Behörighetsfel vid utdata | Utdatamappen är inte skrivbar | Kontrollera behörigheter för utdatamappen |