ייצוא 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 תיעוד
| Property | Type | Default | Description |
|---|---|---|---|
PageIndex | int | 0 | השדה קיים אך לא מועבר למייצא PDF בגרסה 26.3.1 (אין השפעה) |
PageCount | int | None | None | השדה קיים אך לא מועבר למייצא 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() |
| שגיאת הרשאות ביציאה | ספריית הפלט אינה ניתנת לכתיבה | בדוק את הרשאות ספריית הפלט |