Ekspor PDF — Aspose.Note FOSS untuk Python

Aspose.Note FOSS for Python supports exporting loaded .one dokumen ke PDF via Document.Save(). Rendering PDF disediakan oleh opsional ReportLab library. Ini satu-satunya format penyimpanan yang saat ini diimplementasikan; lainnya SaveFormat nilai menyebabkan UnsupportedSaveFormatException.


Prasyarat

Instal library dengan [pdf] ekstra untuk menambahkan ReportLab:

pip install "aspose-note[pdf]"

Verifikasi:

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

Ekspor Dasar

Ekspor semua halaman dokumen ke satu file PDF:

from aspose.note import Document, SaveFormat

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

Halaman muncul di PDF dalam urutan yang sama seperti yang muncul di DOM.


Menggunakan PdfSaveOptions

PdfSaveOptions menyediakan kontrol detail atas ekspor. Gunakan itu alih-alih yang polos SaveFormat enum:

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

opts = PdfSaveOptions()

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

Catatan tentang PageIndex / PageCount: Bidang ini ada pada PdfSaveOptions tetapi tidak diteruskan ke pengekspor PDF pada v26.3.1 dan tidak berpengaruh. Seluruh dokumen selalu diekspor.


Referensi PdfSaveOptions

PropertiTipeDefaultDeskripsi
PageIndexint0Bidang ada tetapi tidak diteruskan ke pengekspor PDF di v26.3.1 (tidak berpengaruh)
PageCount`intNone`None

Ekspor Batch

Konversi setiap .one file dalam direktori menjadi 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 Stream, Simpan ke File

Gabungkan pemuatan berbasis stream dengan output PDF berbasis file:

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 Byte PDF dalam Memori

Document.Save() menerima aliran biner secara langsung: tidak memerlukan file 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 Didukung

SaveFormatStatus
SaveFormat.PdfDiimplementasikan

Kesalahan Umum

KesalahanPenyebabPerbaikan
ImportError: No module named 'reportlab'[pdf] extra tidak terpasangpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionSaveFormat Non-PDF digunakanGunakan SaveFormat.Pdf hanya
IncorrectPasswordExceptionFile .one terenkripsiGunakan file yang tidak terenkripsi
FileNotFoundErrorJalur .one input salahVerifikasi jalur dengan Path.exists()
Kesalahan izin pada outputDirektori output tidak dapat ditulisPeriksa izin direktori output
 Bahasa Indonesia