Ir para o conteúdo do rodapé
USANDO IRONPDF FOR PYTHON

Como criar arquivos PDF com texto e imagens em Python

Na era digital em que vivemos, a necessidade de gerar documentos PDF com conteúdo dinâmico, incluindo texto e imagens, é uma exigência comum. Python é uma linguagem de programação popular que facilita a automatização de processos rotineiros, economizando tempo e energia. Ter uma biblioteca versátil para criar arquivos PDF com texto e imagens em Python pode ser muito útil para a geração automática de relatórios, recibos ou faturas. IronPDF , uma biblioteca Python versátil, simplifica o processo de criação de PDFs com conteúdo rico.

Neste artigo, exploraremos como usar o IronPDF para gerar PDFs que incluam texto e imagens em um projeto Python.

Como criar arquivos PDF com texto e imagens em Python

  1. Instale a biblioteca IronPDF for Python.
  2. Instanciar ChromePdfRenderer
  3. Adicionar conteúdo de texto
  4. Adicionar imagem como dados binários
  5. Crie uma string HTML com texto e imagens.
  6. Renderizar HTML para PDF usando RenderHtmlAsPdf
  7. Salve o arquivo PDF usando o método Salvar como

Introdução ao IronPDF

IronPDF é uma biblioteca Python rica em recursos que fornece aos desenvolvedores ferramentas poderosas para criar , manipular e processar documentos PDF. Com o IronPDF, você pode facilmente incorporar texto, imagens, tabelas e outros elementos em seus PDFs, tornando-o um recurso valioso para uma ampla gama de aplicações, desde a geração de relatórios até a criação de documentos.

Como criar arquivos PDF com texto e imagens em Python: Figura 1 - IronPDF for Python: A biblioteca PDF for Python

Principais funcionalidades do IronPDF:

  • Fácil integração: o IronPDF integra-se perfeitamente com os ambientes de desenvolvimento Python mais populares, tornando-o acessível a desenvolvedores que utilizam ferramentas como o PyCharm.
  • Suporte a texto formatado: Suporta formatação de texto avançada, permitindo que os desenvolvedores criem documentos PDF visualmente atraentes com facilidade.
  • Manipulação de imagens: O IronPDF permite a inclusão de imagens em PDFs, proporcionando flexibilidade no design e na personalização de documentos.
  • Compatibilidade entre plataformas: O IronPDF funciona em diferentes plataformas, garantindo que os PDFs gerados possam ser visualizados e utilizados de forma consistente.

Pré-requisitos

Antes de começar a criar documentos PDF com o IronPDF, certifique-se de que você possui os seguintes pré-requisitos:

  1. Python instalado: O Python precisa estar instalado no seu computador. Você pode baixar e instalar a versão mais recente no site oficial do Python ( https://www.python.org/ ).
  2. IDE PyCharm: Utilize o PyCharm ou qualquer outra IDE Python de sua preferência. O PyCharm é um ambiente de desenvolvimento integrado popular que oferece um espaço de trabalho confortável para o desenvolvimento em Python.
  3. IronPDF: Biblioteca IronPDF baixada daqui ou instalada usando o PIP (Gerenciador de Pacotes Python). O ambiente de execução Microsoft .NET também é necessário para usar com sucesso as funcionalidades do IronPDF . Usuários de Linux, Mac e Windows podem baixar a versão .NET 6.0 através deste link.

Criar projeto Python no PyCharm

Após cumprir os pré-requisitos, abra o PyCharm e crie um novo projeto em Python. Configure um ambiente virtual para o seu projeto para gerenciar as dependências de forma eficaz.

  1. Clique em Arquivo > Novo Projeto .
  2. Na janela "Novo Projeto":
    • Insira um nome para o seu projeto no campo "Localização".
    • Escolha o local onde deseja salvar os arquivos do seu projeto.
  3. Em "Interpretador do Projeto", selecione o interpretador Python. Ele detectará automaticamente o interpretador Python se você tiver o Python instalado.
  4. Escolha o tipo de projeto. Para um projeto simples em Python, você pode manter as configurações padrão.

    ![Como criar arquivos PDF com texto e imagens em Python: Figura 2 - Abra o PyCharm IDE. Vá ao menu Arquivo - clique em Novo Projeto.] Insira o nome e a localização do seu projeto Python. Em seguida, selecione o interpretador Python em "Interpretador do Projeto". Clique no botão "Criar" para criar o projeto. Depois de criar o projeto Python, abra um novo arquivo Python e use-o para escrever o código para gerar arquivos PDF usando o IronPDF.

  5. Clique em Criar para criar o projeto.
  6. Abra um novo arquivo Python e salve-o para escrever o código que irá gerar arquivos PDF usando a biblioteca Python - IronPDF .

Instale o IronPDF for Python usando o PIP.

Para instalar o IronPDF, utilize o seguinte comando PIP no terminal ou prompt de comando do seu projeto:

pip install ironpdf

Este comando fará o download e a instalação automáticos da biblioteca IronPDF , juntamente com suas dependências.

Como criar arquivos PDF com texto e imagens em Python: Figura 3 - Para instalar o IronPDF, use o seguinte comando no terminal ou prompt de comando do seu projeto: pip install IronPDF

Criando um PDF simples com texto e imagens.

Vamos percorrer os passos para criar um documento PDF de página única que inclua texto e imagem usando o IronPDF:

Passo 1: Importar IronPDF

Nesta etapa, importamos todos os módulos necessários do IronPDF. Importamos o ChromePdfRenderer para renderizar PDFs e o base64 para codificar dados de imagem.

from ironpdf import ChromePdfRenderer
import base64
from ironpdf import ChromePdfRenderer
import base64
PYTHON

Etapa 2: Instanciar ChromePdfRenderer

Aqui, criaremos uma instância do ChromePdfRenderer , que será usada para renderizar o conteúdo HTML em um PDF.

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Instantiate Renderer
renderer = ChromePdfRenderer()
PYTHON

Etapa 3: Adicionar conteúdo de texto

Nesta etapa, definiremos uma string HTML ( html_content ) que inclui a estrutura do documento HTML, incluindo o cabeçalho, o corpo e uma seção com conteúdo de texto que será posteriormente convertida em um único arquivo PDF. O estilo CSS é usado para posicionar o texto e a imagem.

# HTML String with Text 
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PDF Generation Example</title>
    <style>
        body {
            margin: 0; /* Remove default margin */
            padding: 20px; /* Add padding for better visibility */
            position: relative; /* Set the body as a relative position */
        }
        header {
            text-align: center;
        }
        section {
            margin-top: 20px; /* Add margin to separate sections */
        }
        img {
            position: absolute;
            top: 20px; /* Adjust the top position */
            right: 20px; /* Adjust the right position */
        }
    </style>
</head>
<body>
    <header>
        <h1>PDF Generation Example</h1>
    </header>
    <section id="contentSection">
        <h2>Text and Image in PDF</h2>
        <p>This PDF includes both text and an embedded image:</p>
        <p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""
# HTML String with Text 
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PDF Generation Example</title>
    <style>
        body {
            margin: 0; /* Remove default margin */
            padding: 20px; /* Add padding for better visibility */
            position: relative; /* Set the body as a relative position */
        }
        header {
            text-align: center;
        }
        section {
            margin-top: 20px; /* Add margin to separate sections */
        }
        img {
            position: absolute;
            top: 20px; /* Adjust the top position */
            right: 20px; /* Adjust the right position */
        }
    </style>
</head>
<body>
    <header>
        <h1>PDF Generation Example</h1>
    </header>
    <section id="contentSection">
        <h2>Text and Image in PDF</h2>
        <p>This PDF includes both text and an embedded image:</p>
        <p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""
PYTHON

Passo 4: Adicionar Imagem

Aqui, vamos abrir e ler um arquivo de imagem ( ironpdf-logo.png ) em modo binário, convertê-lo em um URI de dados codificado em base64 e incorporá-lo na string HTML. A imagem é então posicionada usando estilos CSS para aparecer no canto superior direito.

# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
    pngBinaryData = f.read()
    imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
    imgHtml = f"""
        <img src='{imgDataUri}' width=100px height=100px
            alt="IronPDF Logo">
    </section>
</body>
</html>
"""
# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
    pngBinaryData = f.read()
    imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
    imgHtml = f"""
        <img src='{imgDataUri}' width=100px height=100px
            alt="IronPDF Logo">
    </section>
</body>
</html>
"""
PYTHON

Passo 5: Unir as strings HTML de texto e imagem

Esta etapa concatena as strings HTML de texto e imagem para criar o conteúdo HTML completo ( full_html_content ) que será renderizado em um arquivo PDF de saída.

full_html_content = html_content + imgHtml
full_html_content = html_content + imgHtml
PYTHON

Etapa 6: Renderizar o conteúdo HTML como arquivo PDF

Aqui, o método RenderHtmlAsPdf é usado para converter o HTML em PDF usando o ChromePdfRenderer .

# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
PYTHON

Passo 7: Salvar arquivo PDF

Por fim, o PDF resultante é salvo como "output_with_text_and_image_top_right.pdf". Este arquivo conterá o texto formatado e a imagem incorporada, posicionada no canto superior direito.

# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
PYTHON

Documento PDF de saída

Após a execução do programa, o arquivo PDF resultante é o seguinte:

Como criar arquivos PDF com texto e imagens em Python: Figura 4 - SAÍDA: output_with_text_and_image_top_right.pdf

Da mesma forma, é possível adicionar facilmente várias páginas a um arquivo PDF.

Uso avançado: Personalizando o posicionamento de texto e imagem

O IronPDF oferece recursos adicionais para ajustar o posicionamento e o estilo de texto e imagens no PDF usando um arquivo CSS/ JavaScript externo. O caminho base pode ser enviado como um argumento opcional para o método RenderHtmlAsPdf, conforme demonstrado no código a seguir:

# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PYTHON

Neste exemplo de código avançado, estamos aprofundando o conceito de incorporação de imagens por meio de fontes externas. O conteúdo HTML dentro do método RenderHtmlAsPdf inclui um related to Uso avançado: Personalizando o posicionamento de texto e imagem tag apontando para um arquivo de imagem ( iron.png ) localizado no diretório de ativos especificado ( C:\site\assets\ ). Além disso, este diretório está definido como o parâmetro BasePath .

Em RenderHtmlAsPdf, você pode enviar uma página web HTML completa, conforme mostrado nas etapas acima. O arquivo CSS pode ser referenciado usando o caminho base como segundo parâmetro opcional. Para obter informações mais detalhadas sobre outras maneiras de gerar o formato PDF ou modificar um arquivo PDF existente, visite a página de exemplos de código e documentação .

Conclusão

Neste artigo, exploramos como usar o IronPDF para criar arquivos PDF com texto e imagens em um projeto Python. Com sua API intuitiva e recursos poderosos, o IronPDF permite que os desenvolvedores gerem documentos PDF dinâmicos e visualmente atraentes sem esforço. Seja para criar relatórios, documentação ou qualquer outro tipo de conteúdo, o IronPDF oferece uma solução confiável e flexível para geração de PDFs em Python. Experimente as opções de personalização para adaptar seus PDFs a requisitos de design específicos, tornando o IronPDF uma ferramenta valiosa para suas necessidades de geração de documentos.

Para obter mais informações sobre a licença do IronPDF , entre em contato com o suporte .

Como criar arquivos PDF com texto e imagens em Python: Figura 5 - Informações sobre a licença do IronPDF for Python

Você pode baixar e instalar a biblioteca no site da IronPDF.

Perguntas frequentes

Como posso criar um PDF com texto e imagens usando Python?

Você pode usar ChromePdfRenderer do IronPDF para criar um PDF com texto e imagens em Python. Primeiro, instale a biblioteca IronPDF e, em seguida, crie uma string HTML com o conteúdo desejado. Use o método RenderHtmlAsPdf para renderizar o HTML em um PDF e, finalmente, salve o PDF usando o método SaveAs .

Quais são os passos para instalar a biblioteca PDF para uso em Python?

Para instalar a biblioteca IronPDF for Python, você pode usar o gerenciador de pacotes PIP. Execute o comando pip install ironpdf na linha de comando ou terminal para baixar e instalar a biblioteca juntamente com suas dependências.

Quais são os pré-requisitos necessários para usar uma biblioteca de criação de PDFs em Python?

Você precisará ter o Python instalado em sua máquina, uma IDE como o PyCharm para desenvolvimento e a biblioteca IronPDF. Além disso, o IronPDF requer o ambiente de execução .NET da Microsoft para funcionar.

É possível personalizar PDFs usando CSS ou JavaScript externos com bibliotecas Python?

Sim, o IronPDF permite usar arquivos CSS e JavaScript externos para personalizar o layout e o design dos seus PDFs. Esse recurso oferece opções avançadas de personalização para o posicionamento de texto e imagem.

A biblioteca PDF em Python consegue lidar com a compatibilidade entre plataformas?

O IronPDF foi projetado para ser compatível com diversas plataformas, garantindo que os PDFs gerados possam ser visualizados e utilizados de forma consistente em diferentes sistemas operacionais.

Por que a codificação base64 é usada para imagens na geração de PDFs com Python?

A codificação Base64 é usada para converter dados binários de imagens em um formato de string que pode ser incorporado diretamente no HTML. Isso permite que as imagens sejam incluídas no PDF sem a necessidade de referenciar arquivos externos.

Quais são as principais funcionalidades do IronPDF for Python?

O IronPDF oferece recursos como fácil integração com ambientes Python, suporte para texto formatado e imagens, além de compatibilidade multiplataforma. Esses recursos o tornam uma ferramenta versátil para gerar PDFs com conteúdo dinâmico.

Como o IronPDF pode auxiliar na geração de documentos PDF dinâmicos?

O IronPDF oferece uma API poderosa que permite aos desenvolvedores gerar PDFs com conteúdo dinâmico, como texto e imagens. Ele suporta HTML e CSS para formatação, facilitando a criação de documentos visualmente atraentes em Python.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim