PDF Export — Aspose.Note FOSS pre Python
Aspose.Note FOSS for Python supports exporting loaded .one dokumenty do PDF pomocou Document.Save(). Vykresľovanie PDF je poskytované voliteľným ReportLab knižnica. Toto je jediný formát ukladania momentálne implementovaný; ostatné SaveFormat hodnoty vyvolávajú UnsupportedSaveFormatException.
Predpoklady
Nainštalujte knižnicu s [pdf] extra, aby ste načítali ReportLab:
pip install "aspose-note[pdf]"Overenie:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Základný export
Exportujte všetky stránky dokumentu do jedného PDF súboru:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Stránky sa v PDF zobrazia v rovnakom poradí, v akom sa objavujú v DOM.
Použitie PdfSaveOptions
PdfSaveOptions poskytuje detailnú kontrolu nad exportom. Použite ho namiesto holého SaveFormat enum:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Poznámka k PageIndex / PageCount: Tieto polia existujú na PdfSaveOptions ale sú neodovzdávané PDF exportéru vo verzii v26.3.1 a nemajú žiadny účinok. Celý dokument je vždy exportovaný.
Referenčná dokumentácia PdfSaveOptions
| Vlastnosť | Typ | Predvolené | Popis |
|---|---|---|---|
PageIndex | int | 0 | Pole existuje, ale neodovzdá sa PDF exportéru v verzii v26.3.1 (nemá žiadny účinok) |
PageCount | `int | None` | None |
Dávkový export
Previesť každý .one súbor v adresári na 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}")Načítanie zo streamu, uloženie do súboru
Kombinujte načítanie založené na streamoch s výstupom PDF do súboru:
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)Získajte PDF bajty v pamäti
Document.Save() prijíma binárny prúd priamo: nie je potrebný dočasný súbor:
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")Podporované hodnoty SaveFormat
| SaveFormat | Stav |
|---|---|
SaveFormat.Pdf | Implementované |
Bežné chyby
| Chyba | Príčina | Oprava |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra nie je nainštalovaný | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Použitý SaveFormat, ktorý nie je PDF | Použiť SaveFormat.Pdf iba |
IncorrectPasswordException | Šifrovaný .one súbor | Použite nešifrovaný súbor |
FileNotFoundError | Vstupná cesta .one je nesprávna | Overte cestu pomocou Path.exists() |
| Chyba oprávnenia pri výstupe | Výstupný adresár nie je zapisovateľný | Skontrolujte oprávnenia výstupného adresára |