Εξαγωγή 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 Αναφορά

PropertyTypeDefaultDescription
PageIndexint0Το πεδίο υπάρχει αλλά δεν προωθείται στον εξαγωγέα PDF στην έκδοση v26.3.1 (δεν έχει καμία επίδραση)
PageCountint | NoneNoneΤο πεδίο υπάρχει αλλά δεν προωθείται στον εξαγωγέα 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()
Σφάλμα δικαιωμάτων στην έξοδοΟ φάκελος εξόδου δεν είναι εγγράψιμοςΕλέγξτε τα δικαιώματα του φακέλου εξόδου
 Ελληνικά