PDF Export — Aspose.Note FOSS برای Python

Aspose.Note FOSS for Python supports exporting loaded .one سندها به PDF از طریق Document.Save(). رندر PDF توسط گزینهٔ اختیاری فراهم می‌شود ReportLab کتابخانه. این تنها فرمت ذخیره‌ای است که در حال حاضر پیاده‌سازی شده؛ سایر SaveFormat مقادیر خطا می‌اندازند UnsupportedSaveFormatException.


پیش‌نیازها

نصب کتابخانه با [pdf] افزونه برای افزودن ReportLab:

pip install "aspose-note[pdf]"

تأیید:

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

صادرات پایه

صادرات تمام صفحات یک سند به یک فایل PDF واحد:

from aspose.note import Document, SaveFormat

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

صفحات در PDF به همان ترتیبی که در DOM ظاهر می‌شوند، نمایش داده می‌شوند.


استفاده از PdfSaveOptions

PdfSaveOptions کنترل دقیق‌تری بر روی خروجی فراهم می‌کند. به جای گزینهٔ ساده آن را پاس دهید SaveFormat enum:

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

opts = PdfSaveOptions()

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

نکته درباره PageIndex / PageCount: این فیلدها وجود دارند در PdfSaveOptions اما هستند به صادرکننده PDF در نسخه v26.3.1 ارسال نمی‌شود و هیچ تأثیری ندارند. کل سند همیشه صادر می‌شود.


مرجع PdfSaveOptions

ویژگینوعپیش‌فرضتوضیح
PageIndexint0فیلد وجود دارد اما به صادرکننده PDF در نسخه v26.3.1 ارسال نمی‌شود (بدون اثر)
PageCount`intNone`None

صادرات دسته‌ای

تبدیل هر .one فایل در یک پوشه به 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}")

بارگذاری از Stream، ذخیره به File

ترکیب بارگذاری مبتنی بر stream با خروجی PDF مبتنی بر فایل:

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 در حافظه

Document.Save() به‌صورت مستقیم یک جریان باینری می‌پذیرد: نیازی به فایل موقت نیست:

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

مقادیر پشتیبانی‌شده SaveFormat

SaveFormatوضعیت
SaveFormat.Pdfپیاده‌سازی شد

خطاهای رایج

خطادلیلاصلاح
ImportError: No module named 'reportlab'[pdf] extra نصب نشدهpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionاز SaveFormat غیر PDF استفاده شده استاستفاده کنید SaveFormat.Pdf فقط
IncorrectPasswordExceptionفایل .one رمزگذاری شدهاز فایلی بدون رمزگذاری استفاده کنید
FileNotFoundErrorمسیر .one ورودی اشتباه استمسیر را با Path.exists()
خطای دسترسی در خروجیدایرکتوری خروجی قابل نوشتن نیستمجوزهای دایرکتوری خروجی را بررسی کنید
 فارسی