Eksport PDF — Aspose.Note FOSS untuk Python

Aspose.Note FOSS untuk Python menyokong mengeksport dokumen .one yang dimuatkan ke PDF melalui Document.Save(). Rendering PDF disediakan oleh perpustakaan pilihan ReportLab. Ini adalah satu-satunya format simpanan yang kini dilaksanakan; nilai SaveFormat lain akan menyebabkan UnsupportedSaveFormatException.


Prasyarat

Pasang perpustakaan dengan [pdf] extra untuk memuatkan ReportLab:

pip install "aspose-note[pdf]"

Sahkan:

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

Eksport Asas

Eksport semua halaman dokumen ke satu fail PDF:

from aspose.note import Document, SaveFormat

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

Halaman muncul dalam PDF dalam susunan yang sama seperti yang muncul dalam DOM.


Menggunakan PdfSaveOptions

PdfSaveOptions menyediakan kawalan terperinci ke atas eksport. Hantarkan ia sebagai ganti enum SaveFormat yang kosong:

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

opts = PdfSaveOptions()

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

Nota mengenai PageIndex / PageCount: Medan ini wujud pada PdfSaveOptions tetapi tidak dihantar ke pengekspor PDF dalam v26.3.1 dan tidak memberi kesan. Seluruh dokumen sentiasa dieksport.


Rujukan PdfSaveOptions

PropertyTypeDefaultDescription
PageIndexint0Medan wujud tetapi tidak dihantar ke pengekspor PDF dalam v26.3.1 (tidak memberi kesan)
PageCountint | NoneNoneMedan wujud tetapi tidak dihantar ke pengekspor PDF dalam v26.3.1 (tidak memberi kesan)

Eksport Pukal

Tukar setiap fail .one dalam direktori kepada 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}")

Muat dari Aliran, Simpan ke Fail

Gabungkan pemuatan berasaskan aliran dengan output PDF berasaskan fail:

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)

Dapatkan Bait PDF Dalam Memori

Document.Save() menerima aliran binari secara langsung: tidak memerlukan fail sementara:

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

Nilai SaveFormat yang Disokong

SaveFormatStatus
SaveFormat.PdfDilaksanakan

Ralat Umum

RalatPuncaPenyelesaian
ImportError: No module named 'reportlab'[pdf] extra tidak dipasangpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionSaveFormat bukan PDF digunakanGunakan SaveFormat.Pdf sahaja
IncorrectPasswordExceptionFail .one disulitkanGunakan fail yang tidak disulitkan
FileNotFoundErrorLaluan .one input salahSahkan laluan dengan Path.exists()
Ralat kebenaran pada outputDirektori output tidak boleh ditulisSemak kebenaran direktori output
 Bahasa Melayu