ייצוא PDF — Aspose.Note FOSS for Python

Aspose.Note FOSS for Python תומך ביצוא מסמכי .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 תיעוד

PropertyTypeDefaultDescription
PageIndexint0השדה קיים אך לא מועבר למייצא PDF בגרסה 26.3.1 (אין השפעה)
PageCountint | NoneNoneהשדה קיים אך לא מועבר למייצא PDF בגרסה 26.3.1 (אין השפעה)

ייצוא קבוצתי

המר כל קובץ .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}")

טעינה מזרם, שמירה לקובץ

שילוב טעינה מבוססת זרם עם פלט 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] נוסף לא מותקןpip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionנעשה שימוש ב‑SaveFormat שאינו PDFהשתמש רק ב‑SaveFormat.Pdf
IncorrectPasswordExceptionקובץ .one מוצפןהשתמש בקובץ שאינו מוצפן
FileNotFoundErrorנתיב קלט .one שגויאמת את הנתיב עם Path.exists()
שגיאת הרשאות ביציאהספריית הפלט אינה ניתנת לכתיבהבדוק את הרשאות ספריית הפלט
 עברית