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 padaPdfSaveOptionstetapi tidak dihantar ke pengekspor PDF dalam v26.3.1 dan tidak memberi kesan. Seluruh dokumen sentiasa dieksport.
Rujukan PdfSaveOptions
| Property | Type | Default | Description |
|---|---|---|---|
PageIndex | int | 0 | Medan wujud tetapi tidak dihantar ke pengekspor PDF dalam v26.3.1 (tidak memberi kesan) |
PageCount | int | None | None | Medan 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
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Dilaksanakan |
Ralat Umum
| Ralat | Punca | Penyelesaian |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra tidak dipasang | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | SaveFormat bukan PDF digunakan | Gunakan SaveFormat.Pdf sahaja |
IncorrectPasswordException | Fail .one disulitkan | Gunakan fail yang tidak disulitkan |
FileNotFoundError | Laluan .one input salah | Sahkan laluan dengan Path.exists() |
| Ralat kebenaran pada output | Direktori output tidak boleh ditulis | Semak kebenaran direktori output |