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 arquivos PNG, JPG, GIF, BMP e outros formatos a partir de qualquer PDF -- de página única ou de várias páginas -- com controle direto sobre a resolução de saída e a seleção de páginas.

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 explícito ImageType 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 o 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
import { PdfDocument } from "@ironsoftware/ironpdf";

PdfDocument.fromFile("./sample.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./output.png");
});

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

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

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 requer nenhuma etapa de compilação de módulo nativo, o que mantém os pipelines de CI simples.

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 grava um arquivo de imagem por página no caminho de saída fornecido. 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 de 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
import { PdfDocument } from "@ironsoftware/ironpdf";

// Load the PDF and convert it to a PNG image.
// The output path determines the format — change .png to .jpg for JPEG output.
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/sample-pdf-file.png");
    return pdf;
}).catch((error) => {
    console.error("Error converting PDF to image:", error);
});

PdfDocument.fromFile carrega o PDF e retorna uma Promise que resolve para um objeto PdfDocument. A função de retorno .then recebe o documento resolvido e chama rasterizeToImageFiles com o caminho de destino. A extensão do arquivo no caminho — .png neste caso — indica ao IronPDF qual formato gerar. O bloco .catch trata quaisquer erros de leitura ou conversão.

Arquivo 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.

Como converto um PDF no formato JPEG?

A seleção do formato é automática: qualquer extensão que você passar para rasterizeToImageFiles determinará 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 puder 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
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// ImageType.JPG forces JPEG output regardless of the file extension.
const options = {
    type: ImageType.JPG,
    dpi: 300
};
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/output.png", options);
    return pdf;
});

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 mesmo que 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.

PontasA configuração dpi: 300 produz imagens de qualidade de impressão adequadas para impressão de alta resolução ou arquivamento. Para exibição na tela ou geração de miniaturas, dpi: 96 reduz o tamanho do arquivo, mantendo a 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
import { PdfDocument } from "@ironsoftware/ironpdf";

// Each page of the PDF becomes a separate image file.
// Output filenames: multipage-pdf-page_1.png, multipage-pdf-page_2.png, etc.
PdfDocument.fromFile("./multipage-pdf.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-pdf/multipage-pdf-page.png");
});

Dois arquivos PNG de saída — 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 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 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 gera um erro se o diretório de destino não existir. Use o fs.mkdirSync('./images/output', { recursive: true }) do Node.js para criá-lo antecipadamente.

Como converto apenas páginas específicas?

A propriedade fromPages no objeto de opções aceita uma matriz de índices de página com base 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ê precisar trabalhar com páginas individuais antes de convertê-las, a referência da API do 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
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// Convert only pages 1, 4, 6, and 9 (zero-indexed: 0, 3, 5, 8) to BMP.
const options = {
    type: ImageType.BMP,
    fromPages: [0, 3, 5, 8],
    dpi: 150
};
PdfDocument.fromFile("./sample-pdf-with-images.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles(
        "./images/multipage-selective-pdf/multipage-pdf-page.bmp",
        options
    );
}).catch((error) => {
    console.error("Failed to convert pages:", error);
});

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

Os índices de página em fromPages são baseados em zero, portanto [0, 3, 5, 8] tem como alvo 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, em conformidade com a convenção padrão de arrays 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 converter os números de página do visualizador em índices fromPages, subtraia um de cada número de página.

Para converter a última página de qualquer PDF sem saber o número total de páginas antecipadamente, leia a contagem de páginas usando a API PdfDocument e use-a como o valor.

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

O método rasterizeToImageFiles do IronPDF lida com a seleção de formato, divisão de várias pá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 mais longe, a referência da API IronPDF Node.js documenta todos os parâmetros disponíveis em rasterizeToImageFiles e na classe PdfDocument. O exemplo de código PDF para Imagens 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.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.