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 na PdfSaveOptions, ali se ne prosljeđuju PDF izvozniku u v26.3.1 i nemaju učinak. Cijeli dokument se uvijek izvozi.


PdfSaveOptions Referenca

PropertyTypeDefaultDescription
PageIndexint0Polje postoji, ali nije proslijeđeno PDF izvozniku u v26.3.1 (nema učinka)
PageCountint | NoneNonePolje 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

SaveFormatStatus
SaveFormat.PdfImplementirano

Uobičajene pogreške

GreškaUzrokPopravak
ImportError: No module named 'reportlab'[pdf] extra nije instaliranpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionKorišten je SaveFormat koji nije PDFKoristite samo SaveFormat.Pdf
IncorrectPasswordExceptionŠifrirana .one datotekaKoristite nešifriranu datoteku
FileNotFoundErrorPogrešan put do .one datotekeProvjerite put pomoću Path.exists()
Greška dozvole pri izlazuIzlazni direktorij nije zapisivProvjerite dozvole izlaznog direktorija
 Hrvatski