Εξαγωγή PDF — Aspose.Note FOSS για Python
Το Aspose.Note FOSS για Python υποστηρίζει την εξαγωγή φορτωμένων .one εγγράφων σε PDF μέσω Document.Save(). Η απόδοση PDF παρέχεται από την προαιρετική βιβλιοθήκη ReportLab. Αυτό είναι το μοναδικό μορφότυπο αποθήκευσης που έχει υλοποιηθεί μέχρι τώρα· άλλες SaveFormat τιμές προκαλούν UnsupportedSaveFormatException.
Προαπαιτούμενα
Εγκαταστήστε τη βιβλιοθήκη με το [pdf] extra για να ενσωματώσετε το 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 παρέχει λεπτομερή έλεγχο στην εξαγωγή. Περάστε το αντί για το απλό enum SaveFormat:
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 στην έκδοση v26.3.1 (δεν έχει καμία επίδραση) |
PageCount | int | None | None | Το πεδίο υπάρχει αλλά δεν προωθείται στον εξαγωγέα PDF στην έκδοση v26.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 Bytes στη μνήμη
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 | Χρησιμοποιήστε μόνο SaveFormat.Pdf |
IncorrectPasswordException | Κρυπτογραφημένο αρχείο .one | Χρησιμοποιήστε ένα μη κρυπτογραφημένο αρχείο |
FileNotFoundError | Λάθος διαδρομή εισόδου .one | Επαληθεύστε τη διαδρομή με Path.exists() |
| Σφάλμα δικαιωμάτων στην έξοδο | Ο φάκελος εξόδου δεν είναι εγγράψιμος | Ελέγξτε τα δικαιώματα του φακέλου εξόδου |