PDF Export Aspose.Note FOSS para Python
Aspose.Note FOSS for Python supports exporting loaded .one documentos para PDF via Document.Save().O renderização PDF é fornecida pelo opcional . ReportLab Biblioteca. Este é o único formato de armazenamento atualmente implementado; outros formatos são utilizados para a criação de uma biblioteca, como: SaveFormat valores de aumento UnsupportedSaveFormatException.
Precondições
Instalar a biblioteca com o [pdf] Extra para o ReportLab:
pip install aspose-noteVerificar:
python -c "from aspose.note import Document, SaveFormat; print('aspose-note ready')"Exportação básica
Exportar todas as páginas de um documento para um único ficheiro 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 apareçam no DOM.
Usando PdfSaveOptions
PdfSaveOptions O que é mais importante, a Comissão tem de se pronunciar sobre o assunto. 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:Estes campos existem em:PdfSaveOptionsmas são Não transmitido ao exportador PDF na versão 26.3.1 O documento inteiro é sempre exportado.
Referência de PdfSaveOptions
| Propriedade | Tipo de veículo: | Padrão | Descrição: |
|---|---|---|---|
PageIndex | int | 0 | O campo existe mas… Não transmitido ao exportador PDF na versão 26.3.1 (não tem efeito) |
PageCount | `int | None` | None |
Exportação de lotes
O PDF é um formato de exportação para esta biblioteca. O modelo do documento aceita o código-fonte “PDF” e a versão “Document”. .one arquivos como entrada e salva para PDF como saída; a direção reversa (PDF como input) não é suportada.
Exportar todos os produtos de exportação. .one Arquivo num diretório em 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 do Stream, Salvar para Arquivo
Combinar carregamento baseado em fluxo com 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 PDF Bytes na memória
Document.Save() Aceita um fluxo binário diretamente: não é necessário nenhum arquivo temporá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
| SaveFormat | Estatuto da União Europeia |
|---|---|
SaveFormat.Pdf | Implementado através do ReportLab; aumenta o valor de cada um dos créditos. ValueError se o manipulador de formato não estiver registado |
Erros comuns
| Erro de identificação | Causa da morte | Correção |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] extra não instalado | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | SaveFormat não PDF usado | Usar apenas o formato PDF |
IncorrectPasswordException | Código . um arquivo | Use um arquivo não criptografado . |
FileNotFoundError | Entrada . Um caminho errado | Verificar o caminho com: Path.exists() |
| Erro de permissão na saída | Directório de saída não pode ser escrito | Verificar as permissões do diretório de saída |