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í na PdfSaveOptions, 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

PropertyTypeDefaultDescription
PageIndexint0Pole existuje, ale není předáno PDF exportéru ve verzi v26.3.1 (nemá žádný vliv)
PageCountint | NoneNonePole 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

SaveFormatStav
SaveFormat.PdfImplementováno

Běžné chyby

ChybaPříčinaOprava
ImportError: No module named 'reportlab'[pdf] extra není nainstalovánopip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionPoužito ne‑PDF SaveFormatPoužijte pouze SaveFormat.Pdf
IncorrectPasswordExceptionŠifrovaný soubor .onePoužijte nešifrovaný soubor
FileNotFoundErrorŠpatná cesta vstupního .oneOvěřte cestu pomocí Path.exists()
Chyba oprávnění při výstupuVýstupní adresář není zapisovatelnýZkontrolujte oprávnění výstupního adresáře
 Čeština