Trabalhar com o PDF Writer
Trabalhar com o PDF Writer
Aspose.Words FOSS for Python exports documents to PDF through a dedicated rendering pipeline. The pipeline converts each LDM element — paragraphs, runs, shapes, and tables — into PDF output using specialized renderers.
Exportação PDF básica
Salvar qualquer documento carregado para PDF usando o save() método:
import aspose.words_foss as aw
doc = aw.Document("input.docx")
doc.save("output.pdf")O formato de salva é determinado automaticamente a partir da extensão do arquivo. Para controle explícito, use SaveFormat:
import aspose.words_foss as aw
doc = aw.Document("input.doc")
doc.save("output.pdf", aw.SaveFormat.PDF)Usando PdfSaveOptions
Configurar a saída PDF com: PdfSaveOptions:
import aspose.words_foss as aw
from aspose.words_foss.saving import PdfSaveOptions
doc = aw.Document("input.docx")
opts = PdfSaveOptions()
doc.save("output.pdf", opts)Pipeline de Renda PDF
O editor de PDF usa quatro renders especializados internamente:
| Renderer (reprodutor) | Manoplas |
|---|---|
ParagraphRenderer | Transforma parágrafos de LDM em PDF manipula alinhamento, espaçamento e ressaca |
RunRenderer | Renders formatado corre segmentos de texto com fontes, cores e links |
ShapeRenderer | Renda formas, imagens e elementos posicionados |
TableRenderer | Renda de tabelas LDM fronteiras, fusões e recheio das células |
Estes renders trabalham juntos para produzir o PDF final. Você interage com eles indiretamente através de Document.save().
Converter vários formatos para PDF
O editor de PDF aceita entrada de qualquer leitor suportado (DOCX, DOC, RTF, TXT, Markdown):
import aspose.words_foss as aw
for input_file in ["report.docx", "legacy.doc", "notes.rtf", "readme.txt"]:
doc = aw.Document(input_file)
pdf_name = input_file.rsplit(".", 1)[0] + ".pdf"
doc.save(pdf_name)
print(f"Saved {pdf_name}")Dicas e melhores práticas
- Utilização:
PdfSaveOptionsquando você precisa personalizar a saída PDF além dos padrões. - Para conversão em lote, carregar e salvar em um loop os renders são sem estado e reutilizáveis entre documentos.
- O editor PDF preserva negrito, itálico, sublinhado, tamanhos de fonte e cores do documento-fonte.
- Fusões de células da tabela (
CellMerge) são correctamente apresentados em saída PDF. - Teste com documentos representativos antes de ser implantado na produção layouts complexos podem precisar de ajustes.
Problemas comuns
| Emissão | Causa da morte | Correção |
|---|---|---|
| Fontes diferentes em PDF | Fonte não disponível no sistema | Instalar as fontes necessárias ou usar a substituição de fonte |
| Tabelas desalinhadas | Estruturas de mesas aninhadas complexas | Simplificar a criação de tabelas no documento-fonte |
| Imagens faltantes | Dados de imagem não incorporados na fonte | Assegurar que as imagens estão incorporadas, não externamente ligados |
FAQ
Quais formatos de entrada podem ser exportados para o PDF?
DOCX, DOc, RTF, TXT e Markdown arquivos podem ser carregados e salvos como PDF.
O editor de PDF suporta cabeçalhos e pés de página?
Os cabeçalhos e os pés do documento de origem são incluídos na saída PDF quando presentes no LDM.
Posso controlar o tamanho e a orientação da página PDF?
As propriedades de configuração da página (tamanho, orientação, margens) do documento fonte são preservadas no PDF. Modificar PageSetup sobre o Document secções antes de salvar para alterar estes valores.
Resumo de referência da API
| Classe / Método | Descrição: |
|---|---|
PdfSaveOptions | Opções para salvar documentos em PDF |
ParagraphRenderer | Renda parágrafos de LDM em PDF |
RunRenderer | Renda de executar formatadas (texto com fontes, cores, links) |
ShapeRenderer | Renda formas, imagens e elementos posicionados |
TableRenderer | Renda de tabelas LDM em PDF |
SaveFormat.PDF | Constante para formato de salva PDF |
Document.save(path) | Salvar documento no formato especificado |