PDF-eksport — Aspose.Note FOSS for Python
Aspose.Note FOSS for Python supports exporting loaded .one dokumenter til PDF via Document.Save(). PDF-gjengivelse leveres av den valgfrie ReportLab biblioteket. Dette er det eneste lagringsformatet som for øyeblikket er implementert; andre SaveFormat verdier kaster UnsupportedSaveFormatException.
Forutsetninger
Installer biblioteket med [pdf] ekstra for å hente inn ReportLab:
pip install "aspose-note[pdf]"Verifiser:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Grunnleggende 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)Sider vises i PDF-en i samme rekkefølge som de vises i DOM-en.
Bruke PdfSaveOptions
PdfSaveOptions gir finjustert kontroll over eksporten. Send den i stedet for den rene SaveFormat enum:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Merk om PageIndex / PageCount: Disse feltene finnes på PdfSaveOptions men er ikke videresendt til PDF-eksportøren i v26.3.1 og har ingen effekt. Hele dokumentet eksporteres alltid.
PdfSaveOptions-referanse
| Egenskap | Type | Standard | Beskrivelse |
|---|---|---|---|
PageIndex | int | 0 | Feltet finnes, men ikke videresendt til PDF exporter i v26.3.1 (har ingen effekt) |
PageCount | `int | None` | None |
Batch-eksport
Konverter hver .one fil i en katalog 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}")Last inn fra strøm, lagre til fil
Kombiner strøm-basert innlasting med fil-basert PDF-utdata:
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-byter i minnet
Document.Save() aksepterer 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")Støttede SaveFormat-verdier
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Implementert |
Vanlige feil
| Feil | Årsak | Fiks |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] ekstra er ikke installert | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Non-PDF SaveFormat brukt | Bruk SaveFormat.Pdf kun |
IncorrectPasswordException | Kryptert .one-fil | Bruk en ukryptert fil |
FileNotFoundError | Input .one sti feil | Verifiser sti med Path.exists() |
| Tillatelsesfeil på utdata | Utdata-mappen er ikke skrivbar | Sjekk tillatelsene for utdata-mappen |