Como converter PDF em imagem em Python | IronPDF

Conversão de PDF para imagem em Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

A conversão de PDF para imagem é um requisito comum em aplicações Python. Os desenvolvedores a utilizam para gerar miniaturas de documentos, visualizações na web e para alimentar o conteúdo de PDF em pipelines de processamento de imagem. O IronPDF for Python fornece o método RasterizeToImageFiles, que converte qualquer documento PDF (ou URL) em arquivos de imagem JPEG, PNG ou TIFF com DPI e dimensões configuráveis.

Este guia mostra como converter arquivos PDF em imagens no Python, como controlar a qualidade de saída e como dimensionar as imagens resultantes para se adequarem às restrições de layout.

Início rápido: Converta um PDF em Imagens

  1. Instale o IronPDF: pip install ironpdf
  2. Carregar um documento PDF: pdf = PdfDocument.FromFile("document.pdf")
  3. Converter cada página para PNG: pdf.RasterizeToImageFiles("output/*.png", DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
PYTHON

Por que os desenvolvedores convertem PDFs em imagens?

A conversão de PDF para imagem resolve vários problemas práticos no desenvolvimento de software. O requisito mais comum é a geração de pré-visualizações - exibir uma miniatura de um documento PDF em uma interface web ou aplicativo móvel sem forçar os usuários a baixar e abrir o arquivo completo.

Outros casos de uso frequente incluem:

  • Pipelines de aprendizado de máquina: Modelos de OCR, ferramentas de análise de layout e sistemas de visão computacional aceitam entradas de imagem, não PDFs
  • Arquivamento e conformidade: Armazenar uma captura visual ao lado do PDF original garante a legibilidade a longo prazo, mesmo quando visualizadores de PDF mudam
  • Incorporação de relatórios: Incluir páginas PDF específicas como imagens dentro de outros documentos ou modelos de e-mail
  • Teste automatizado: Comparar capturas de página renderizadas para detectar regressões visuais na saída de PDF

O Python não inclui funcionalidade nativa de PDF para imagem em sua biblioteca padrão. Ferramentas como pdf2image exigem a instalação do Poppler como um binário externo, o que aumenta a complexidade da implantação. O IronPDF lida com a renderização internamente, portanto, adicionar a conversão de PDF para imagem a qualquer projeto Python requer apenas um único pip install.

ObserveIronPDF usa um mecanismo de renderização baseado em Chromium. PDFs renderizados em HTML produzem imagens que parecem idênticas ao que um navegador exibiria, o que é útil quando os PDFs se originam de HTML ou fontes URL.

Como faço para converter um arquivo PDF em imagens?

Para converter um PDF em imagens, chame RasterizeToImageFiles em uma instância de PdfDocument. O método grava um arquivo de imagem por página no diretório especificado. O asterisco (*) no caminho de saída é substituído pelo número da página a partir de 1, portanto assets/images/*.png produz assets/images/1.png, assets/images/2.png e assim por diante.

Crie o diretório de saída antes de chamar o método. O IronPDF não o criará automaticamente se não existir.

#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument

# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")

# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument

# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")

# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

O parâmetro DPI controla a resolução da imagem. Um DPI mais alto produz uma imagem mais nítida à custa de um tamanho de arquivo maior e mais tempo de processamento. Valores padrão:

Valores de DPI e Casos de Uso Típicos
DPIUso típico
72Resolução de tela, processamento rápido
96Qualidade padrão na web
150Boa qualidade de impressão
300Saída de impressão de alta qualidade
File explorer showing numbered PNG output files (1.png through 11.png) generated by RasterizeToImageFiles from an 11-page PDF

Diretório de saída com um arquivo PNG por página PDF

Se as imagens de saída parecerem desfocadas, aumente o valor de DPI. Processar a 300 DPI em um documento de 50 páginas leva notavelmente mais tempo do que a 96 DPI -- escolha com base nos requisitos reais de qualidade para o caso de uso.

PontasPara geração de miniaturas para a web, 96 DPI é suficiente e mantém os tamanhos dos arquivos pequenos. Reserve 150-300 DPI para casos onde a imagem será impressa ou exibida em tamanho real.

Como faço para converter um intervalo específico de páginas em imagens?

Para converter apenas um subconjunto de páginas, passe os índices das páginas como segundo argumento para RasterizeToImageFiles. Os índices de páginas são inteiros baseados em zero.

#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)
PYTHON

A extração seletiva de páginas é útil para documentos onde apenas as primeiras páginas precisam ser pré-visualizadas, evitando o processamento desnecessário do arquivo inteiro. Para fluxos de trabalho que extraem imagens já incorporadas em um PDF, o IronPDF fornece métodos de extração separados.

Como faço para converter uma URL em imagens?

O IronPDF pode renderizar uma página web em PDF e então converter esse PDF em imagens em um único fluxo de trabalho. Use ChromePdfRenderer para buscar e renderizar a URL e, em seguida, chame RasterizeToImageFiles no PdfDocument resultante. Essa abordagem cria arquivos visuais de páginas web ou gera imagens de pré-visualização para conteúdo baseado na web sem exigir uma ferramenta de captura de tela separada.

#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer

# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")

# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer

# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")

# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

As imagens renderizadas refletem como a página aparece em um navegador Chromium, incluindo estilos CSS e conteúdo renderizado por JavaScript. Para páginas atrás de autenticação ou que requerem interação, considere usar o tutorial HTML para PDF do IronPDF para fornecer a marcação pré-renderizada diretamente. O PDF resultante pode então ser rasterizado usando a mesma abordagem mostrada acima.

File explorer showing 5 PNG files (1.png through 5.png) generated from a URL rendered to PDF by IronPDF

Imagens geradas a partir de uma URL renderizada através do IronPDF

Como faço para controlar as dimensões da imagem de saída?

Por padrão, RasterizeToImageFiles gera imagens nas dimensões nativas da página, dimensionadas pelo fator DPI. Para limitar o tamanho da saída, defina ImageMaxWidth e ImageMaxHeight, ambos medidos em pixels.

O IronPDF preserva a proporção original com base no valor ImageMaxHeight. A saída não será esticada ou distorcida, mesmo que a largura e altura especificadas tenham uma proporção diferente da página de origem.

#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
    "assets/images/*.png",
    ImageMaxWidth=500,
    ImageMaxHeight=500,
    DPI=200
)
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
    "assets/images/*.png",
    ImageMaxWidth=500,
    ImageMaxHeight=500,
    DPI=200
)
PYTHON

A configuração ImageMaxWidth=500, ImageMaxHeight=500 em 200 DPI produz imagens adequadas para exibição em miniatura ou layouts de interface do usuário baseados em cartões. Ajuste esses valores para corresponder às dimensões exigidas pelo design do aplicativo. Para gerar o conteúdo do PDF sendo rasterizado, o IronPDF também suporta criar PDFs a partir do Python e mesclar múltiplos PDFs antes da conversão.

ImportanteA proporção é preservada com base na altura. Se a página de origem for mais larga do que alta, a imagem resultante poderá ser mais estreita do que ImageMaxWidth. Projete layouts para lidar com miniaturas de largura variável.

Quais são os próximos passos para a conversão de PDF para imagem?

Este guia cobriu três fluxos de trabalho principais: converter um arquivo PDF em imagens, converter uma URL em imagens e controlar dimensões e qualidade das imagens. O IronPDF suporta JPEG, JPG, PNG, TIFF e formatos adicionais através do mesmo método RasterizeToImageFiles. Altere a extensão do arquivo no padrão de caminho de saída para alternar os formatos.

Para mais automação, considere estes próximos passos:

  • Processamento em lote : Percorra um diretório de PDFs e converta cada um em sequência, ou use o módulo concurrent.futures do Python para processamento paralelo.
  • Extração seletiva: Use o parâmetro de índice de página para extrair apenas as páginas relevantes ao caso de uso
  • Integração de pipeline de imagem: Alimente os arquivos de saída no PIL/Pillow ou OpenCV para processamento adicional, como recorte, anotação ou normalização de formato
  • Compressão antes da conversão: Use a compressão de PDF do IronPDF para reduzir o tamanho do arquivo antes de rasterizar grandes documentos
  • Fluxos de trabalho de formulário: Preencha formulários PDF programaticamente e então converta as páginas do formulário completo em imagens para revisão ou arquivamento

Para continuar construindo com o IronPDF, explore a documentação do IronPDF for Python e o exemplo de rasterizar PDF em imagens.

Inicie um teste gratuito de 30 dias do IronPDF for Python para usar esses recursos em produção. Quando estiver pronto para implantar, veja as opções de licenciamento para o plano que se ajuste à escala do projeto.

ObserveLeitura complementar: Convertendo PDFs em imagens

Perguntas frequentes

Como posso converter um PDF para uma imagem em Python?

Instale o IronPDF com pip install ironpdf, depois carregue o PDF usando PdfDocument.FromFile("file.pdf") e chame RasterizeToImageFiles("output/*.png", DPI=96). Isso escreve uma imagem por página no diretório especificado.

Quais formatos de imagem o IronPDF suporta para conversão de PDF?

IronPDF suporta formatos de saída PNG, JPEG, JPG e TIFF. Especifique o formato alterando a extensão do arquivo no padrão de caminho de saída passado para RasterizeToImageFiles, como *.jpg para JPEG ou *.tiff para TIFF.

Como posso controlar a qualidade da imagem ao converter um PDF?

Use o parâmetro DPI em RasterizeToImageFiles. Um valor de 96 é qualidade padrão para a web. 150 é adequado para pré-visualizações de impressão. 300 produz saída de impressão de alta qualidade. Valores mais altos de DPI aumentam o tamanho do arquivo e o tempo de processamento.

Posso definir uma largura ou altura máxima para as imagens de saída?

Sim. Passe ImageMaxWidth e ImageMaxHeight em pixels para RasterizeToImageFiles. O IronPDF preserva a proporção com base no valor de altura, para que a imagem não seja distorcida.

Como posso converter apenas páginas específicas de um PDF para imagens?

Passe uma lista de índices de página baseados em zero como o segundo argumento para RasterizeToImageFiles. Por exemplo, [0, 1, 2] converte apenas as três primeiras páginas.

Posso converter uma URL de página web para imagens usando o IronPDF?

Sim. Use ChromePdfRenderer para chamar RenderUrlAsPdf com a URL, que retorna um PdfDocument. Em seguida, chame RasterizeToImageFiles nesse documento para produzir arquivos de imagem de cada página renderizada.

O IronPDF requer binários externos para conversão de PDF para imagem?

Não. O IronPDF inclui seu próprio motor de renderização baseado em Chromium e não requer Poppler, Ghostscript ou qualquer instalação binária externa. Um pip install ironpdf é suficiente para começar.

Por que minhas imagens convertidas aparecem borradas?

A saída borrada é causada por um valor de DPI baixo. Aumente do padrão 96 para 150 ou 300 para resultados mais nítidos. Note que valores mais altos de DPI produzem tamanhos de arquivo maiores e levam mais tempo para processar.

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
Pronto para começar?
Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu HTML se transformar em um PDF.