Converta HTML para PDF usando a API REST em Python

Como desenvolvedor Python, você pode facilmente converter seus arquivos HTML em documentos PDF programaticamente na nuvem. Essa conversão pode ser útil para manter registros ou compartilhar arquivos HTML em um formato portátil. Neste artigo, você aprenderá como converter documentos HTML em PDF usando uma API REST em Python.

Os seguintes tópicos serão abordados neste artigo:

API REST de conversão de HTML para PDF e SDK Python

Para converter arquivos HTML em PDF, usarei a API Python SDK of GroupDocs.Conversion Cloud. Ele permite que você converta seus documentos e imagens de qualquer formato de arquivo suportado para qualquer formato que você precisar. Você pode converter facilmente entre mais de 50 tipos de documentos e imagens, como Word, PowerPoint, Excel, PDF, HTML, CAD, imagens raster, etc.

Você pode instalar o GroupDocs.Conversion Cloud em seu projeto Python usando o seguinte comando no console:

pip install groupdocs_conversion_cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Converta HTML para PDF usando a API REST em Python

Você pode converter seu arquivo HTML em documentos PDF seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, carregue o arquivo HTML na nuvem usando o exemplo de código abaixo:

# criar instância da API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# solicitação de upload de arquivo
request = groupdocs_conversion_cloud.UploadFileRequest("sample.html", "C:\\Files\\sample.html", my_storage)

# carregar arquivo de amostra
response = file_api.upload_file(request)

Como resultado, o arquivo HTML carregado estará disponível na seção de arquivos do seu painel na nuvem.

Converter HTML para PDF em Python

Você pode facilmente converter documentos HTML em PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância de ConvertApi
  • Crie uma instância do ConvertSettings
  • Defina o caminho do arquivo HTML
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Defina PdfConvertOptions se necessário
  • Opcionalmente, defina várias propriedades, como dpi, margin\top, margin\left, fit\window, etc.
  • Criar ConvertDocumentRequest com ConvertSettings
  • Obtenha resultados chamando o método convert\document() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter seu arquivo HTML em um documento PDF usando uma API REST.

# Crie instâncias de API necessárias
converter_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Preparar configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "convertered"

# Opções de conversão de PDF
converterOptions = groupdocs_conversion_cloud.PdfConvertOptions()
converterOptions.center_window = True     # Set position of the document's window on the screen
converterOptions.display_doc_title = True
converterOptions.dpi = 1024.0
converterOptions.fit_window = False
converterOptions.from_page = 1           # Start conversion from FromPage page
converterOptions.linearize = False       # Linearize PDF Document for the Web
converterOptions.margin_top = 5
converterOptions.margin_left = 5
converterOptions.unembed_fonts = True     # Make fonts not embedded
converterOptions.remove_pdfa_compliance = False # Remove Pdf-A Compliance

settings.converter_options = converterOptions

# Converter solicitação de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# converter
result = converter_api.converter_document(request)

# Feito
print("Document convertered: " + result[0].path)
Converta HTML para PDF usando a API REST em Python

Converta HTML para PDF usando a API REST em Python

Baixe o arquivo convertido

O exemplo de código acima salvará o arquivo PDF convertido na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

# inicialização da API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# criar solicitação de download de arquivo
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)

# ⇬ Fazer download do arquivo
response = file_api.download_file(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\")

Converter HTML para PDF e adicionar marca d’água

Você pode converter documentos HTML em PDF e adicionar marcas d’água a documentos convertidos programaticamente seguindo as etapas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Defina o caminho do arquivo HTML
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Crie uma instância de WatermarkOptions
  • Defina o texto da marca d’água, cor, largura, altura, etc.
  • Defina as PdfConvertOptions e atribua WatermarkOptions
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convert\document() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um arquivo HTML em um documento PDF e adicionar uma marca d’água ao documento PDF convertido usando uma API REST em Python. Siga as etapas mencionadas anteriormente para fazer upload e download de arquivos.

# inicialização da API
converter_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "convertered"

# definir opções de marca d'água
watermark = groupdocs_conversion_cloud.WatermarkOptions()
watermark.text = "THIS IS SAMPLE WATERMARK"
watermark.bold = True;
watermark.font_size = 34;
watermark.color = "Gray";
watermark.background = False;
watermark.rotation_angle = 30;
watermark.left = 90;
watermark.top = 500;

# definir opções de conversão de PDF
converterOptions = groupdocs_conversion_cloud.PdfConvertOptions()
converterOptions.watermark_options = watermark

settings.converter_options = converterOptions

# criar solicitação de conversão de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)
# converter
result = converter_api.converter_document(request)
print("Document convertered successfully: " + result[0].url)
Converter HTML para PDF e adicionar marca d'água

Converter HTML para PDF e adicionar marca d’água

Conversão de HTML para PDF sem usar o Cloud Storage

Você pode converter documentos HTML em PDF sem usar o armazenamento em nuvem seguindo as etapas abaixo:

  • Crie uma instância do ConvertApi
  • Crie ConvertDocumentDirectRequest e passe o formato do documento solicitado e o caminho do arquivo de entrada
  • Obtenha resultados chamando o método convert\document\direct() com ConvertDocumentDirectRequest
  • Opcionalmente, salve o arquivo de saída no caminho local usando o método shutil.move()

O exemplo de código a seguir mostra como converter um arquivo HTML em um documento PDF sem usar o armazenamento em nuvem. Você passará o arquivo de entrada no corpo da solicitação e receberá o arquivo de saída na resposta da API.

# Crie instâncias de API necessárias
convert_api = groupdocs_conversion_cloud.ConverterApi.from_keys(client_id, client_secret)

# Preparar solicitação
request = groupdocs_conversion_cloud.ConverterDocumentDirectRequest("pdf", "C:\\Files\\sample.html")

# Converter
result = convert_api.convert_document_direct(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(result, "C:\\Files\\")

Converta HTML para PDF e baixe diretamente

Você pode facilmente converter documentos HTML em PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância de ConvertApi
  • Crie uma instância do ConvertSettings
  • Defina o caminho do arquivo HTML
  • Atribuir “pdf” ao formato
  • Defina “Nenhum” para o caminho de saída
  • Criar ConvertDocumentRequest com ConvertSettings
  • Obtenha resultados chamando o método convert\document\download()
  • Opcionalmente, salve o arquivo de saída no caminho local usando o método shutil.move()

O exemplo de código a seguir mostra como converter um arquivo HTML em um documento PDF e baixá-lo diretamente usando uma API REST em Python. A API deve retornar o arquivo PDF convertido em resposta. Siga as etapas mencionadas anteriormente para fazer upload de um arquivo.

# Crie instâncias de API necessárias
convert_api = groupdocs_conversion_cloud.ConverterApi.from_keys(client_id, client_secret)

# Preparar configurações de conversão
settings = groupdocs_conversion_cloud.ConverterSettings()
settings.file_path = "sample.html"
settings.format = "pdf"

settings.output_path = None    # leave OutputPath will result the output as document IOStream

# Preparar pedido
request = groupdocs_conversion_cloud.ConverterDocumentRequest(settings)

# Converter
response = convert_api.convert_document_download(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\")

Experimente on-line

Experimente a seguinte ferramenta de conversão on-line gratuita de HTML para PDF, desenvolvida usando a API acima. https://products.groupdocs.app/conversion/html-to-pdf

Conclusão

Neste artigo, você aprendeu como converter arquivos HTML em documentos PDF usando Python na nuvem. Você também aprendeu como converter arquivos HTML em documentos PDF sem usar o armazenamento em nuvem programaticamente. Além disso, você aprendeu como adicionar uma marca d’água aos documentos PDF convertidos usando Python. Este artigo também explicou como carregar programaticamente o arquivo HTML para a nuvem e, em seguida, baixar o arquivo PDF convertido da nuvem. Você pode aprender mais sobre GroupDocs.Conversion Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também