Eksport PDF — Aspose.Note FOSS dla Python
Aspose.Note FOSS for Python supports exporting loaded .one dokumenty do PDF za pomocą Document.Save(). Renderowanie PDF jest zapewniane przez opcjonalny ReportLab biblioteka. To jedyny format zapisu obecnie zaimplementowany; inne SaveFormat wartości wywołują UnsupportedSaveFormatException.
Wymagania wstępne
Zainstaluj bibliotekę z [pdf] dodatkowym pakietem, aby pobrać ReportLab:
pip install "aspose-note[pdf]"Zweryfikuj:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Podstawowy eksport
Wyeksportuj wszystkie strony dokumentu do jednego pliku PDF:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Strony pojawiają się w PDF w takiej samej kolejności, w jakiej występują w DOM.
Używanie PdfSaveOptions
PdfSaveOptions zapewnia precyzyjną kontrolę nad eksportem. Przekaż go zamiast samego SaveFormat wyliczenia:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Uwaga dotycząca PageIndex / PageCount: Te pola istnieją w PdfSaveOptions ale są nie jest przekazywany do eksportera PDF w wersji v26.3.1 i nie mają wpływu. Cały dokument jest zawsze eksportowany.
Referencja PdfSaveOptions
| Właściwość | Typ | Domyślne | Opis |
|---|---|---|---|
PageIndex | int | 0 | Pole istnieje, ale nie jest przekazywane do eksportera PDF w wersji v26.3.1 (nie ma wpływu) |
PageCount | `int | None` | None |
Eksport wsadowy
Konwertuj każdy .one plik w katalogu do 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}")Wczytaj ze strumienia, zapisz do pliku
Połącz wczytywanie oparte na strumieniu z wyjściem PDF opartym na pliku:
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)Uzyskaj bajty PDF w pamięci
Document.Save() akceptuje strumień binarny bezpośrednio: nie jest potrzebny plik tymczasowy:
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")Obsługiwane wartości SaveFormat
| SaveFormat | Status |
|---|---|
SaveFormat.Pdf | Zaimplementowano |
Typowe błędy
| Błąd | Przyczyna | Naprawa |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra nie zainstalowano | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Użyto formatu zapisu nie‑PDF | Użyj SaveFormat.Pdf tylko |
IncorrectPasswordException | Zaszyfrowany plik .one | Użyj niezaszyfrowanego pliku |
FileNotFoundError | Ścieżka wejściowa .one jest nieprawidłowa | Zweryfikuj ścieżkę za pomocą Path.exists() |
| Błąd uprawnień przy wyjściu | Katalog wyjściowy nie jest zapisywalny | Sprawdź uprawnienia katalogu wyjściowego |