Exportação PDF — Aspose.Note FOSS para Python

Aspose.Note FOSS for Python supports exporting loaded .one documentos para PDF via Document.Save(). A renderização de PDF é fornecida pela opcional ReportLab biblioteca. Este é o único formato de salvamento atualmente implementado; outros SaveFormat valores geram UnsupportedSaveFormatException.


Pré‑requisitos

Instale a biblioteca com o [pdf] extra para incluir o ReportLab:

pip install "aspose-note[pdf]"

Verifique:

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

Exportação Básica

Exportar todas as páginas de um documento para um único arquivo PDF:

from aspose.note import Document, SaveFormat

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

As páginas aparecem no PDF na mesma ordem em que aparecem no DOM.


Usando PdfSaveOptions

PdfSaveOptions fornece controle granular sobre a exportação. Passe-o em vez do simples SaveFormat enum:

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: Esses campos existem em PdfSaveOptions mas são não encaminhado para o exportador PDF na v26.3.1 e não tem efeito. O documento inteiro é sempre exportado.


Referência de PdfSaveOptions

PropriedadeTipoPadrãoDescrição
PageIndexint0O campo existe, mas não é encaminhado para o exportador PDF na v26.3.1 (não tem efeito)
PageCount`intNone`None

Exportação em Lote

Converter cada .one arquivo em um diretório para 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}")

Carregar a partir de Stream, Salvar em Arquivo

Combine o carregamento baseado em stream com a saída de PDF baseada em arquivo:

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)

Obter Bytes de PDF na Memória

Document.Save() aceita um fluxo binário diretamente: nenhum arquivo temporário necessário:

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 suportados

SaveFormatStatus
SaveFormat.PdfImplementado

Erros comuns

ErroCausaCorreção
ImportError: No module named 'reportlab'[pdf] extra não instaladopip install "aspose-note[pdf]"
UnsupportedSaveFormatExceptionFormato de salvamento não-PDF usadoUsar SaveFormat.Pdf somente
IncorrectPasswordExceptionArquivo .one criptografadoUse um arquivo não criptografado
FileNotFoundErrorCaminho .one de entrada erradoVerifique o caminho com Path.exists()
Erro de permissão na saídaDiretório de saída não gravávelVerifique as permissões do diretório de saída
 Português