Export PDF — Aspose.Note FOSS pro Python
Aspose.Note FOSS pro Python podporuje export načtených .one dokumentů do PDF pomocí Document.Save(). Vykreslování PDF je poskytováno volitelnou knihovnou ReportLab. Toto je jediný formát ukládání, který je v současnosti implementován; jiné SaveFormat hodnoty vyvolají UnsupportedSaveFormatException.
Požadavky
Nainstalujte knihovnu s extra [pdf] pro načtení ReportLab:
pip install "aspose-note[pdf]"Ověřit:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Základní export
Exportovat všechny stránky dokumentu do jednoho souboru PDF:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Stránky se v PDF zobrazují ve stejném pořadí, v jakém jsou v DOM.
Použití PdfSaveOptions
PdfSaveOptions poskytuje jemnozrnné řízení exportu. Použijte jej místo prostého výčtu SaveFormat:
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: Tato pole existují naPdfSaveOptions, ale nejsou předána PDF exportéru ve verzi v26.3.1 a nemají žádný vliv. Celý dokument je vždy exportován.
PdfSaveOptions Reference
| Property | Type | Default | Description |
|---|---|---|---|
PageIndex | int | 0 | Pole existuje, ale není předáno PDF exportéru ve verzi v26.3.1 (nemá žádný vliv) |
PageCount | int | None | None | Pole existuje, ale není předáno PDF exportéru ve verzi v26.3.1 (nemá žádný vliv) |
Dávkový export
Převést každý soubor .one v adresáři do 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číst ze streamu, uložit do souboru
Kombinujte načítání založené na proudu s výstupem PDF založeným na souboru:
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ískat PDF bajty v paměti
Document.Save() přijímá binární proud přímo: není potřeba žádný dočasný soubor:
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 | Implementováno |
Běžné chyby
| Chyba | Příčina | Oprava |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra není nainstalováno | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Použito ne‑PDF SaveFormat | Použijte pouze SaveFormat.Pdf |
IncorrectPasswordException | Šifrovaný soubor .one | Použijte nešifrovaný soubor |
FileNotFoundError | Špatná cesta vstupního .one | Ověřte cestu pomocí Path.exists() |
| Chyba oprávnění při výstupu | Výstupní adresář není zapisovatelný | Zkontrolujte oprávnění výstupního adresáře |