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 у версії 26.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}")

Завантаження зі стріму, збереження у файл

Поєднайте завантаження на основі стріму з виводом 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Використано не-PDF формат збереженняВикористати SaveFormat.Pdf лише
IncorrectPasswordExceptionЗашифрований файл .oneВикористайте нешифрований файл
FileNotFoundErrorШлях до вхідного .one неправильнийПеревірте шлях за допомогою Path.exists()
Помилка прав доступу при виведенніКаталог виводу недоступний для записуПеревірте права доступу до каталогу виводу
 Українська