Converter HTML para PDF em Python
Conversão de HTML para PDF em Python
Aspose.PDF for Python via .NET permite converter documentos HTML existentes para PDF com opções flexíveis de renderização. Você pode ajustar finamente como a saída é gerada para corresponder ao seu layout, estilo, acessibilidade e requisitos de arquivamento.
Converter HTML para PDF
O exemplo Python a seguir mostra o fluxo de trabalho básico para converter um documento HTML em PDF.
- Crie uma instância de HtmlLoadOptions classe.
- Inicializar um Document objeto com o arquivo HTML de origem.
- Salve o documento PDF de saída chamando
document.save().
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.page_layout_option = ap.HtmlPageLayoutOption.SCALE_TO_PAGE_WIDTH
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Conversões relacionadas
- Converter PDF para HTML quando você precisa de saída pronta para web a partir de arquivos PDF existentes.
- Converter outros formatos de arquivo para PDF para fluxos de trabalho de conversão de EPUB, XPS, texto e PostScript.
- Converter imagens para PDF quando o conteúdo de origem é baseado em imagem, em vez de marcação HTML.
Tente converter HTML para PDF online
Aspose apresenta o aplicativo online “HTML para PDF”, onde você pode testar a qualidade da conversão e a saída.
Converter HTML para PDF usando tipo de mídia
Este exemplo mostra como converter um arquivo HTML para PDF usando opções de renderização específicas.
- Crie uma instância de HtmlLoadOptions() classe.
- Definir
html_media_typepara aplicar regras CSS destinadas a layouts de tela ou impressão, comoHtmlMediaType.SCREENouHtmlMediaType.PRINT. - Carregue o HTML em um
ap.Documentusando as opções de carregamento. - Salve o documento como um PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.html_media_type = ap.HtmlMediaType.SCREEN
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Priorize o CSS @page regra durante a conversão de HTML para PDF
Alguns documentos usam o @page regra para layout de página. Se esses estilos entrarem em conflito com outras configurações, você pode controlar a prioridade com is_priority_css_page_rule.
- Crie uma instância de HtmlLoadOptions classe.
- Definir
is_priority_css_page_rule = Falsepara permitir que outros estilos tenham precedência sobre@pageregras. - Carregue o HTML em um
ap.Documentcom as opções configuradas. - Salve o documento como um PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
# load_options.is_priority_css_page_rule = False
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Converter HTML para PDF com fontes incorporadas
Este exemplo mostra como converter um arquivo HTML em PDF enquanto incorpora fontes. Se precisar que o PDF de saída preserve a tipografia original, defina is_embed_fonts para True.
- Criar
HtmlLoadOptions()para configurar a conversão de HTML para PDF. - Definir
is_embed_fonts = Trueincorporar as fontes usadas no HTML diretamente no PDF. - Carregue o HTML em um
ap.Documentcom estas opções. - Salve o documento como um PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.is_embed_fonts = True
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Renderizar conteúdo HTML em uma única página PDF
Este exemplo demonstra como converter um arquivo HTML em um PDF de página única usando Aspose.PDF for Python via .NET. Use o is_render_to_single_page propriedade quando você deseja que o conteúdo HTML completo seja renderizado em uma única página contínua.
- Criar uma instância de
HtmlLoadOptions()para configurar o processo de conversão. - Habilitar
is_render_to_single_pagepara renderizar todo o conteúdo HTML em uma página. - Carregue o documento com as opções configuradas em um
ap.Document. - Salve o resultado como um arquivo PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
options = ap.HtmlLoadOptions()
options.is_render_to_single_page = True
doc = ap.Document(path_infile, options)
doc.save(path_outfile)
Criar estrutura lógica a partir de tags HTML
A estrutura lógica, também chamada de Tagged PDF, preserva a hierarquia semântica do HTML original, como cabeçalhos, parágrafos e listas. Isso torna o PDF resultante mais acessível, pesquisável e adequado para fluxos de trabalho de documentos estruturados.
Ao habilitar a estrutura lógica durante a conversão, o DOM HTML é mapeado para uma árvore de tags PDF em vez de ser renderizado apenas como conteúdo visual.
Para atender aos requisitos de acessibilidade, um PDF deve incluir elementos de estrutura lógica que definam a ordem de leitura, forneçam texto alternativo para leitores de tela e preservem a hierarquia do conteúdo.
A qualidade da estrutura lógica no PDF de saída depende diretamente da qualidade da marcação HTML original. HTML mal estruturado ou inválido pode resultar em marcação incompleta ou imprecisa no PDF convertido.
- Crie uma instância de HtmlLoadOptions para controlar como o HTML é convertido.
- Ative a marcação semântica para que o PDF contenha elementos estruturados.
- Abra o arquivo HTML usando as opções configuradas.
- Salve o PDF estruturado.
import aspose.pdf as ap
# Path to the source HTML
input_html_path = "input.html"
# Path for the Logical Structure PDF
output_pdf_path = "output_logical_structure.pdf"
# Initialize HtmlLoadOptions
options = ap.HtmlLoadOptions()
# Convert HTML markup to PDF logical structure elements
options.create_logical_structure = True
# Open PDF document
with ap.Document(input_html_path, options) as document:
# Save PDF document
document.save(output_pdf_path)
Converter MHTML para PDF
Este exemplo mostra como converter um arquivo MHT ou MHTML em um documento PDF usando Aspose.PDF for Python via .NET com dimensões de página específicas.
- Criar uma instância de
ap.MhtLoadOptions()para configurar o processamento de arquivos MHTML. - Defina vários parâmetros, como o tamanho da página.
- Inicialize o documento com o arquivo de entrada e as opções de carregamento configuradas.
- Salve o documento resultante como um PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.MhtLoadOptions()
load_options.page_info.width = 842
load_options.page_info.height = 1191
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
