Export PDF — Aspose.Note FOSS pour Python

Aspose.Note FOSS for Python supports exporting loaded .one documents en PDF via Document.Save(). Le rendu PDF est fourni par le module optionnel ReportLab bibliothèque. C’est le seul format d’enregistrement actuellement implémenté ; les autres SaveFormat valeurs déclenchent UnsupportedSaveFormatException.


Prérequis

Installez la bibliothèque avec le [pdf] module supplémentaire pour récupérer ReportLab :

pip install "aspose-note[pdf]"

Vérifiez :

python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"

Exportation de base

Exporter toutes les pages d’un document vers un seul fichier PDF :

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

Les pages apparaissent dans le PDF dans le même ordre qu’elles apparaissent dans le DOM.


Utilisation de PdfSaveOptions

PdfSaveOptions offre un contrôle fin sur l’exportation. Utilisez‑le à la place du simple SaveFormat énumération :

from aspose.note import Document
from aspose.note.saving import PdfSaveOptions

opts = PdfSaveOptions()

doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)

Note sur PageIndex / PageCount: ces champs existent sur PdfSaveOptions mais sont non transmis à l’exportateur PDF dans v26.3.1 et n’ont aucun effet. Le document complet est toujours exporté.


Référence de PdfSaveOptions

PropriétéTypePar défautDescription
PageIndexint0Le champ existe mais non transmis à l’exportateur PDF dans v26.3.1 (n’a aucun effet)
PageCount`intNone`None

Exportation par lots

Convertir chaque .one fichier d’un répertoire en 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}")

Charger depuis un flux, enregistrer dans un fichier

Combiner le chargement basé sur un flux avec la sortie PDF basée sur un fichier :

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)

Obtenir les octets PDF en mémoire

Document.Save() accepte un flux binaire directement: aucun fichier temporaire nécessaire:

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")

Valeurs SaveFormat prises en charge

SaveFormatStatut
SaveFormat.PdfImplémenté

Erreurs courantes

ErreurCauseCorrection
ImportError: No module named 'reportlab'[pdf] extra non installépip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionFormat d’enregistrement non-PDF utiliséUtiliser SaveFormat.Pdf uniquement
IncorrectPasswordExceptionFichier .one chiffréUtiliser un fichier non chiffré
FileNotFoundErrorChemin .one d’entrée incorrectVérifier le chemin avec Path.exists()
Erreur d’autorisation sur la sortieRépertoire de sortie non accessible en écritureVérifiez les permissions du répertoire de sortie
 Français