PDF Dışa Aktarım — Aspose.Note Python için FOSS

Aspose.Note FOSS for Python supports exporting loaded .one belgeleri PDF’ye aracılığıyla Document.Save(). PDF renderleme, isteğe bağlı olarak sağlanır ReportLab kütüphane. Bu, şu anda uygulanan tek kaydetme formatıdır; diğer SaveFormat değerler hata oluşturur UnsupportedSaveFormatException.


Ön Koşullar

Kütüphaneyi şununla kurun [pdf] extra’ı ekleyerek ReportLab’ı çekin:

pip install "aspose-note[pdf]"

Doğrulayın:

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

Temel Dışa Aktarma

Bir belgenin tüm sayfalarını tek bir PDF dosyasına dışa aktar:

from aspose.note import Document, SaveFormat

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

Sayfalar, PDF’de DOM’da göründükleri aynı sırayla yer alır.


PdfSaveOptions Kullanarak

PdfSaveOptions dışa aktarma üzerinde ayrıntılı kontrol sağlar. Çıplak yerine bunu geçirin SaveFormat enum:

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

opts = PdfSaveOptions()

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

Not: PageIndex / PageCount: Bu alanlar şunlarda bulunur PdfSaveOptions ancak v26.3.1’de PDF dışa aktarıcısına iletilmez ve hiçbir etkisi yoktur. Tüm belge her zaman dışa aktarılır.


PdfSaveOptions Referansı

ÖzellikTipVarsayılanAçıklama
PageIndexint0Alan mevcut ancak v26.3.1’de PDF dışa aktarıcısına yönlendirilmedi (hiçbir etkisi yok)
PageCount`intNone`None

Toplu Dışa Aktarma

Her birini dönüştür .one bir dizindeki her dosyayı PDF’ye:

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

Akıştan Yükle, Dosyaya Kaydet

Akış tabanlı yüklemeyi dosya tabanlı PDF çıktısıyla birleştir:

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)

PDF Baytlarını Bellekte Al

Document.Save() ikili akışı doğrudan kabul eder: geçici dosya gerekmez:

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

Desteklenen SaveFormat Değerleri

SaveFormatDurum
SaveFormat.PdfUygulandı

Yaygın Hatalar

HataNedenDüzeltme
ImportError: No module named 'reportlab'[pdf] ekstra yüklü değilpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionPDF olmayan SaveFormat kullanıldıKullan SaveFormat.Pdf yalnızca
IncorrectPasswordExceptionŞifreli .one dosyasıŞifrelenmemiş bir dosya kullanın
FileNotFoundErrorGirdi .one yolu yanlışYolu şununla doğrulayın Path.exists()
Çıktıda izin hatasıÇıktı dizini yazılabilir değilÇıktı dizini izinlerini kontrol edin
 Türkçe