PDF izvoz — Aspose.Note FOSS za Python
Aspose.Note FOSS za Python podržava izvoz učitanih .one dokumenata u PDF putem Document.Save(). PDF renderiranje pruža opcijska biblioteka ReportLab. Ovo je jedini format spremanja trenutno implementiran; druge SaveFormat vrijednosti uzrokuju UnsupportedSaveFormatException.
Preduvjeti
Instalirajte biblioteku s dodatkom [pdf] kako biste povukli ReportLab:
pip install "aspose-note[pdf]"Provjeri:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Osnovni izvoz
Izvezi sve stranice dokumenta u jedinstvenu PDF datoteku:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Stranice se pojavljuju u PDF‑u istim redoslijedom kao i u DOM‑u.
Korištenje PdfSaveOptions
PdfSaveOptions pruža detaljnu kontrolu nad izvozom. Proslijedite ga umjesto golog SaveFormat enumeratora:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Napomena o
PageIndex/PageCount: Ova polja postoje naPdfSaveOptions, ali se ne prosljeđuju PDF izvozniku u v26.3.1 i nemaju učinak. Cijeli dokument se uvijek izvozi.
PdfSaveOptions Referenca
| Property | Type | Default | Description |
|---|---|---|---|
PageIndex | int | 0 | Polje postoji, ali nije proslijeđeno PDF izvozniku u v26.3.1 (nema učinka) |
PageCount | int | None | None | Polje postoji, ali nije proslijeđeno PDF izvozniku u v26.3.1 (nema učinka) |
Skupni izvoz
Pretvori svaku .one datoteku u direktoriju u 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}")Učitaj iz toka, spremi u datoteku
Kombinirajte učitavanje temeljeno na streamu s PDF izlazom temeljenim na datoteci:
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)Dohvati PDF bajtove u memoriji
Document.Save() prihvaća binarni tok izravno: nije potrebna privremena datoteka:
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")Podržane vrijednosti SaveFormat
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Implementirano |
Uobičajene pogreške
| Greška | Uzrok | Popravak |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra nije instaliran | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Korišten je SaveFormat koji nije PDF | Koristite samo SaveFormat.Pdf |
IncorrectPasswordException | Šifrirana .one datoteka | Koristite nešifriranu datoteku |
FileNotFoundError | Pogrešan put do .one datoteke | Provjerite put pomoću Path.exists() |
| Greška dozvole pri izlazu | Izlazni direktorij nije zapisiv | Provjerite dozvole izlaznog direktorija |