Como converter um PDF em um arquivo de imagem usando Node.js

Como converter um PDF em um arquivo de imagem no Node.js

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

IronPDF for Node.js converte páginas de PDF em imagens com uma única chamada de método. O método rasterizeToImageFiles produz PNG, JPG, GIF, BMP e outros formatos a partir de qualquer PDF -- página única ou multipáginas -- com controle direto sobre a resolução de saída e seleção de página.

O método detecta automaticamente o formato de saída a partir da extensão de arquivo fornecida, portanto, a troca entre formatos não requer mudanças de configuração. Para ambientes onde a extensão não pode ser alterada, um valor de enumeração ImageType explícito substitui a detecção baseada em extensão. A documentação do IronPDF Node.js cobre toda a gama de fontes de entrada suportadas, incluindo caminhos de arquivo, buffers de bytes e strings HTML convertidas para PDF antes da rasterização.

Início rápido: Converter PDF para PNG

  1. Instale IronPDF: npm install @ironsoftware/ironpdf
  2. Importe PdfDocument do pacote
  3. Carregue seu PDF com PdfDocument.fromFile()
  4. Chame rasterizeToImageFiles() com o caminho de saída
:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/quickstart.js

Como faço para instalar o IronPDF for Node.js?

 npm e @ironsoftware/ironpdf

Instale o pacote Node.js do IronPDF a partir do npm para converter PDFs em PNG, JPG, GIF, BMP e outros formatos de imagem.

Antes de converter PDFs em imagens na produção, configure sua chave de licença. O pacote também exige que o IronPDF Engine seja instalado em seu sistema — este binário lida com todas as operações de renderização de PDF e deve estar presente para que a conversão funcione.

Quais são os requisitos do sistema?

Node.js 12 ou posterior é necessário. O binário do IronPDF Engine é baixado automaticamente na primeira vez que o pacote é carregado, mas você também pode instalá-lo manualmente se seu ambiente de implantação restringir o acesso à rede externa. O pacote @ironsoftware/ironpdf está disponível no registro npm e não possui etapa de compilação de módulo nativo, o que mantém os pipelines de IC diretos.

ObserveUma chave de licença não é necessária durante o desenvolvimento. A saída com marca d'água é produzida no modo sem licença. As marcas d'água são removidas assim que uma chave válida é configurada.

Como faço para converter um PDF em uma imagem?

O método rasterizeToImageFiles lê um documento PDF e escreve um arquivo de imagem por página no caminho de saída que você fornecer. Para PDFs de página única, ele produz exatamente uma imagem. Para PDFs de múltiplas páginas, ele adiciona um sufixo de número de página a cada nome de arquivo automaticamente.

O exemplo abaixo carrega um PDF de exemplo do Learning Container e o converte em um arquivo PNG.

Visualizador de PDF mostrando um documento de amostra Lorem Ipsum de uma página usado como entrada antes da conversão de PDF para imagem O arquivo PDF de exemplo aberto em um visualizador. Baixe este arquivo e outros PDFs de teste do Learning Container.

:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-png.js

PdfDocument.fromFile carrega o PDF e retorna uma Promessa resolvendo-se para um objeto PdfDocument. O callback .then recebe o documento resolvido e chama rasterizeToImageFiles com o caminho de destino. A extensão do arquivo no caminho — .png aqui — informa ao IronPDF qual formato produzir. O bloco .catch lida com quaisquer erros de leitura ou conversão.

Arquivo de saída PNG convertido mostrando o conteúdo do documento Lorem Ipsum renderizado como uma imagem PNG O PNG gerado a partir do PDF de exemplo acima. IronPDF converte o documento em três linhas de código.

Para exemplos mais detalhados das opções deste método, veja a página de exemplo de código PDF para Imagens.

Icon Quote related to Como faço para converter um PDF em uma imagem?

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic related to Como faço para converter um PDF em uma imagem?

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso
Icon Quote related to Como faço para converter um PDF em uma imagem?

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle related to Como faço para converter um PDF em uma imagem?

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso
Icon Quote related to Como faço para converter um PDF em uma imagem?

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones related to Como faço para converter um PDF em uma imagem?

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

Como converto um PDF no formato JPEG?

A seleção de formato é automática: qualquer extensão que você passar para rasterizeToImageFiles determina o formato de saída. Para produzir um JPEG em vez de um PNG, altere a extensão no caminho de destino:

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-extension.js
// Switch to JPEG by changing the file extension in the output path.
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");

Quando o nome do arquivo de saída não pode ser controlado — por exemplo, em pipelines automatizados com esquemas de nomenclatura fixos — passe um valor ImageType no objeto de opções para substituir a detecção baseada em extensão:

:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-imagetype.js

A propriedade type no objeto de opções tem precedência sobre a extensão do nome do arquivo. No exemplo acima, rasterizeToImageFiles produz um arquivo JPEG, embora o caminho de destino termine com .png. O mesmo padrão se aplica a saídas GIF e BMP.

Como as configurações de DPI afetam a qualidade da saída?

A propriedade dpi no objeto de opções controla a densidade de pixels da saída rasterizada. Valores mais altos produzem arquivos maiores com mais detalhes; valores mais baixos reduzem o tamanho do arquivo à custa da nitidez.

PontasDefinir dpi: 300 produz imagens de qualidade de impressão adequadas para impressão em alta resolução ou arquivamento. Para exibição na tela ou geração de thumbnails, dpi: 96 reduz o tamanho do arquivo, mantendo uma clareza adequada para uso na web.

Um DPI de 150 é um valor padrão razoável para a maioria dos cenários de arquivo ou visualização – a saída é nítida o suficiente para leitura na tela e os tamanhos dos arquivos permanecem gerenciáveis. Para conteúdo que será impresso ou sujeito a processamento OCR após a conversão, 300 DPI ou mais é preferido.

Como converto um PDF de várias páginas em imagens?

Para documentos com mais de uma página, rasterizeToImageFiles cria uma imagem por página. IronPDF adiciona um índice de página baseado em zero a cada nome de arquivo de saída, mantendo a saída organizada sem código adicional de sua parte.

Um documento PDF de duas páginas aberto em um visualizador, mostrando duas páginas de conteúdo de amostra antes da conversão de imagem Um exemplo de PDF de duas páginas. IronPDF cria um arquivo de imagem por página durante a conversão.

:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-multipage.js

Dois arquivos de saída PNG — multipage-pdf-page_1.png e multipage-pdf-page_2.png — criados a partir do PDF de duas páginas acima Os dois arquivos PNG produzidos a partir do PDF de duas páginas. IronPDF nomeia cada arquivo de saída com seu número de página.

Esse comportamento automático de divisão de página funciona com todos os formatos de imagem suportados. Combine-o com a opção fromPages na próxima seção para converter apenas páginas específicas de documentos grandes. Para trabalhar na direção oposta, o exemplo de imagem para PDF mostra como combinar vários arquivos de imagem em um único documento PDF.

Como os nomes dos arquivos de saída são estruturados?

O padrão de nome de arquivo usa um número de página baseado em um antes da extensão do arquivo. Se o caminho de saída for ./images/report-page.png, um PDF de três páginas produz report-page_1.png, report-page_2.png e report-page_3.png. O diretório de saída deve existir antes de chamar rasterizeToImageFiles — o método não cria diretórios ausentes automaticamente.

ImportanteCrie o diretório de saída antes de chamar rasterizeToImageFiles. O método lança um erro se o diretório de destino não existir. Use fs.mkdirSync('./images/output', { recursive: true }) do Node.js para criá-lo com antecedência.

Como converto apenas páginas específicas?

A propriedade fromPages no objeto de opções aceita um array de índices de página baseados em zero. Apenas as páginas especificadas são rasterizadas; todas as outras são ignoradas. Isso é útil quando se trabalha com PDFs grandes onde apenas um subconjunto de páginas é necessário — por exemplo, extraindo páginas de capa e início de seção para visualização de documentos. Quando você precisa trabalhar com páginas individuais antes de convertê-las, a referência de API Node.js para PdfDocument documenta operações adicionais em nível de página.

:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-selective-pages.js

Quatro arquivos de saída BMP rotulados como multipage-pdf-page_1, page_4, page_7 e page_9 produzidos a partir de um grande PDF IronPDF rasterizou apenas as quatro páginas especificadas no array fromPages. As outras páginas não foram processadas.

Os índices de página em fromPages são baseados em zero, então [0, 3, 5, 8] aponta para a primeira, quarta, sexta e nona páginas. O valor de 150 DPI equilibra a qualidade da saída contra o tamanho do arquivo — adequado para casos de uso de arquivo ou visualização. A conversão seletiva é compatível com todos os tipos de imagem suportados.

ObserveBaixe o PDF de exemplo com imagens usado no exemplo acima do Learning Container.

Qual é a diferença entre números de página baseados em zero e baseados em um?

fromPages usa indexação baseada em zero, correspondendo à convenção de array padrão do JavaScript. A página 1 do documento corresponde ao índice 0, a página 2 ao índice 1, e assim por diante. Isso difere dos números de página baseados em um que aparecem nos visualizadores de PDF. Ao traduzir números de página do visualizador para índices fromPages, subtraia um de cada número de página.

PontasPara converter a última página de qualquer PDF sem saber a contagem total de páginas com antecedência, leia a contagem de páginas usando pdf.pageCount() da API PdfDocument e use [pdf.pageCount() - 1] como o valor fromPages.

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

O método rasterizeToImageFiles do IronPDF lida com seleção de formato, divisão multipáginas e conversão seletiva de páginas em uma API consistente. O objeto de opções é o único ponto de extensão para substituições de formato, controle de DPI e filtragem de páginas.

Para ir além, a referência de API Node.js do IronPDF documenta todos os parâmetros disponíveis em rasterizeToImageFiles e na classe PdfDocument. O exemplo de código PDF to Images mostra rasterizeToImageFiles usado com configuração adicional. Para trabalhar na direção oposta, veja convertendo imagens em arquivos PDF ou convertendo arquivos TIFF em múltiplos quadros para PDF.

Inicie seu teste gratuito do IronPDF for Node.js para testar a conversão de PDF para imagem no seu próprio projeto. Veja as opções de licenciamento para encontrar o plano que se encaixa na sua equipe.

Pronto para ver o que mais o IronPDF pode fazer? Confira o tutorial completo de Node.js aqui: HTML para PDF em Node.js

Perguntas frequentes

Como faço para converter um PDF em imagem usando Node.js?

Utilize o método rasterizeToImageFiles do IronPDF. Instale o pacote com npm install @ironsoftware/ironpdf, carregue seu PDF usando PdfDocument.fromFile() e então chame rasterizeToImageFiles() com o caminho de saída. A extensão do arquivo determina o formato de saída automaticamente.

Quais formatos de imagem o rasterizeToImageFiles suporta?

O IronPDF suporta saída em PNG, JPG, GIF e BMP. O formato é detectado a partir da extensão do arquivo no caminho de saída. Para substituir isso, passe um valor enum ImageType no objeto de opções: por exemplo, { type: ImageType.JPG } força saída em JPEG independentemente da extensão do nome do arquivo.

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

Passe um array fromPages no objeto de opções. O array aceita índices de página baseados em zero, de forma que fromPages: [0, 2, 4] converte a primeira, terceira e quinta páginas. Páginas não listadas no array são ignoradas.

Que DPI devo usar para a conversão de PDF para imagem?

Defina a propriedade dpi no objeto de opções. Use dpi: 96 para exibição em tela e miniaturas, dpi: 150 para casos de uso de arquivamento e pré-visualização, e dpi: 300 para saída de qualidade de impressão ou conteúdo que será processado por OCR após a conversão.

Quais são os requisitos de instalação para o IronPDF no Node.js?

O Node.js 12 ou superior é necessário. Instale o pacote com npm install @ironsoftware/ironpdf. O binário do IronPDF Engine é baixado automaticamente na primeira utilização e lida com toda a renderização de PDF. Para uso em produção, configure uma chave de licença para remover marcas d’água da saída.

Como são estruturados os nomes dos arquivos de saída para PDFs de várias páginas?

O IronPDF adiciona um número de página baseado em um antes da extensão do arquivo. Se o caminho de saída for report-page.png, um PDF de três páginas produzirá report-page_1.png, report-page_2.png e report-page_3.png. O diretório de saída deve existir antes de chamar o método.

A conversão de PDF para imagem é assíncrona no Node.js?

Sim. Ambos PdfDocument.fromFile() e rasterizeToImageFiles() retornam Promises. Encadeie .then() para o caminho de sucesso e .catch() para tratar erros de conversão. Você também pode usar a sintaxe async/await com esses métodos.

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.6 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

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