Exportación PDF — Aspose.Note FOSS para Python

Aspose.Note FOSS for Python supports exporting loaded .one documentos a PDF mediante Document.Save(). La renderización de PDF es proporcionada por el opcional ReportLab biblioteca. Este es el único formato de guardado implementado actualmente; otros SaveFormat valores generan UnsupportedSaveFormatException.


Requisitos previos

Instale la biblioteca con el [pdf] extra para incluir ReportLab:

pip install "aspose-note[pdf]"

Verifique:

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

Exportación básica

Exportar todas las páginas de un documento a un único archivo PDF:

from aspose.note import Document, SaveFormat

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

Las páginas aparecen en el PDF en el mismo orden en que aparecen en el DOM.


Usando PdfSaveOptions

PdfSaveOptions proporciona un control granular sobre la exportación. Páselo en lugar del SaveFormat enumeración:

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

opts = PdfSaveOptions()

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

Nota sobre PageIndex / PageCount: Estos campos existen en PdfSaveOptions pero son no se reenvía al exportador PDF en v26.3.1 y no tienen efecto. El documento completo siempre se exporta.


Referencia de PdfSaveOptions

PropiedadTipoPredeterminadoDescripción
PageIndexint0El campo existe pero no se envía al exportador PDF en la v26.3.1 (no tiene efecto)
PageCount`intNone`None

Exportación por lotes

Convertir cada .one archivo en un directorio a 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}")

Cargar desde Stream, Guardar en Archivo

Combinar la carga basada en stream con la salida PDF basada en archivo:

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)

Obtener bytes PDF en memoria

Document.Save() acepta un flujo binario directamente: no se necesita archivo temporal:

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

Valores de SaveFormat compatibles

SaveFormatEstado
SaveFormat.PdfImplementado

Errores comunes

ErrorCausaCorregir
ImportError: No module named 'reportlab'[pdf] extra no instaladopip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionSe usó SaveFormat no PDFUsar SaveFormat.Pdf solo
IncorrectPasswordExceptionArchivo .one cifradoUsa un archivo sin cifrar
FileNotFoundErrorRuta .one de entrada incorrectaVerifica la ruta con Path.exists()
Error de permiso en la salidaEl directorio de salida no es escribibleVerifica los permisos del directorio de salida
 Español