PDF-export — Aspose.Note FOSS för Python

Aspose.Note FOSS for Python supports exporting loaded .one dokument till PDF via Document.Save(). PDF rendering tillhandahålls av den valfria ReportLab biblioteket. Detta är det enda sparformat som för närvarande är implementerat; andra SaveFormat värden utlöser UnsupportedSaveFormatException.


Förutsättningar

Installera biblioteket med den [pdf] extra för att hämta in ReportLab:

pip install "aspose-note[pdf]"

Verifiera:

python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"

Grundläggande export

Exportera alla sidor i ett dokument till en enda PDF-fil:

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

Sidorna visas i PDF:en i samma ordning som de visas i DOM:en.


Användning av PdfSaveOptions

PdfSaveOptions ger finmaskig kontroll över exporten. Skicka den istället för den rena SaveFormat enum:

from aspose.note import Document
from aspose.note.saving import PdfSaveOptions

opts = PdfSaveOptions()

doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)

Obs på PageIndex / PageCount: Dessa fält finns på PdfSaveOptions men är inte vidarebefordrade till PDF-exportören i v26.3.1 och har ingen effekt. Hela dokumentet exporteras alltid.


PdfSaveOptions-referens

EgenskapTypStandardBeskrivning
PageIndexint0Fältet finns men inte vidarebefordras till PDF-exportören i v26.3.1 (har ingen effekt)
PageCount`intNone`None

Batchexport

Konvertera varje .one fil i en katalog till 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}")

Läs från ström, spara till fil

Kombinera ström-baserad inläsning med fil-baserad PDF-utmatning:

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)

Hämta PDF-bytes i minnet

Document.Save() accepterar en binär ström direkt: ingen temporär fil behövs:

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")

Stödda SaveFormat‑värden

SaveFormatStatus
SaveFormat.PdfImplementerad

Vanliga fel

FelOrsakÅtgärd
ImportError: No module named 'reportlab'[pdf] extra inte installeratpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionIcke-PDF SaveFormat användsAnvänd SaveFormat.Pdf endast
IncorrectPasswordExceptionKrypterad .one-filAnvänd en okrypterad fil
FileNotFoundErrorFel .one-sökväg för inmatningVerifiera sökväg med Path.exists()
Behörighetsfel vid utdataUtdatamappen är inte skrivbarKontrollera behörigheter för utdatamappen
 Svenska