Ir para o conteúdo do rodapé
FERRAMENTAS DE PDF

Como converter PDF em imagem usando NodeJS

Converter documentos PDF para formatos de imagem como PNG, JPG e GIF pode ser um recurso valioso em diversas aplicações, desde sistemas de gerenciamento de documentos até softwares de processamento de imagens. Neste artigo, aprenderemos como converter PDFs em arquivos de imagem usando Node.js Vamos aproveitar o poder de um pacote popular do npm (Node Package Manager) chamado pdf-poppler para realizar essa tarefa.

Pré-requisitos

Primeiro, certifique-se de ter o Node.js e o npm (Gerenciador de Pacotes do Node) instalados em sua máquina. Você pode verificar as instalações do Node executando os seguintes comandos no seu prompt de comando (cmd):

node --version
npm --version
node --version
npm --version
SHELL

Caso não esteja instalado, você precisará baixá- lo do site do Node.js

Como converter PDF em imagem no Node.js: Figura 1 - Módulo Node.js

Configurando o projeto

Para começar, crie um novo diretório para o seu projeto. Para este tutorial, vamos nomear este diretório como Node.js_PDFtoImage. Em seguida, navegue até ele no prompt de comando e inicialize um novo projeto Node.js executando o seguinte comando:

npm init -y
npm init -y
SHELL

Executar o comando acima produzirá um arquivo package.json que nos permitirá instalar as dependências necessárias para o nosso projeto.

Instalando dependências

A dependência que utilizaremos é pdf-poppler, um pacote que fornece uma API fácil de usar para converter PDFs em imagens.

Instale-o executando o seguinte comando no Windows PowerShell ou no Prompt de Comando:

npm install pdf-poppler
npm install pdf-poppler
SHELL

Tudo pronto! Vamos escrever a lógica para converter PDF em imagens.

Converter PDF em arquivo de imagem

Após a conclusão da instalação, crie um novo arquivo no diretório raiz do nosso projeto e nomeie-o como pdfToImage.js . Abra o arquivo no seu editor de texto preferido e adicione os módulos necessários:

const pdfPoppler = require('pdf-poppler');

Abaixo, encontra-se um exemplo de arquivo PDF com 28 páginas.

Como converter PDF em imagem no Node.js: Figura 2 - Arquivo de entrada

Em seguida, defina uma função chamada convertPdfToImage que recebe o caminho para o arquivo PDF (pdfPath) e o caminho do diretório de saída (outputPath). Esta função converterá nosso documento PDF de exemplo em imagens.

async function convertPdfToImage(pdfPath, outputPath) {
  const options = {
    format: 'jpeg',  // You can choose other formats like png or tiff
    out_dir: outputPath,
    out_prefix: 'page',
    page: null  // Specify the page number here to convert a specific page, otherwise null to convert all pages
  };

  try {
    await pdfPoppler.convert(pdfPath, options);
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}

A função utiliza o pacote pdf-poppler para converter o PDF em formato de imagem JPEG. Neste caso, definimos a opção format como 'jpeg', mas você pode escolher outros formatos, como 'png' ou 'tiff'. A opção out_dir especifica o diretório onde as imagens de saída serão salvas, e out_prefix define um prefixo para os arquivos de imagem de saída. A opção page permite especificar uma página específica para converter, ou você pode deixá-la como nula para converter todas as páginas.

Para converter um arquivo PDF em imagens, você pode chamar a função convertPdfToImage com os caminhos de arquivo apropriados. Por exemplo:

const pdfPath = '/path/to/input.pdf';
const outputPath = '/path/to/output/folder';

convertPdfToImage(pdfPath, outputPath);

Nota: Substitua pdfPath pelo valor de "/path/to/input.pdf" e "/path/to/output/folder" pelo caminho real do arquivo PDF de entrada e "/path/to/output/folder" pelo caminho do diretório de saída desejado.

O código completo é o seguinte:

const pdfPoppler = require('pdf-poppler');

const pdfPath = 'C:\\Users\\hp\\Desktop\\Node.js_PDFtoImage\\pdf_files\\input.pdf';
const outputDir = 'C:\\Users\\hp\\Desktop\\Node.js_PDFtoImage\\pdf_images';

async function convertPdfToImage(pdfPath, outputPath) {
  const opts = {
    format: 'jpeg',      // You can choose other formats like png or tiff
    out_dir: outputPath,
    out_prefix: 'page',
    page: null           // Specify the page number here to convert a specific page, otherwise null to convert all pages
  };

  try {
    await pdfPoppler.convert(pdfPath, opts);
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}

convertPdfToImage(pdfPath, outputDir);

Execute o script Node.js

Execute o script Node.js digitando o seguinte comando:

node pdfToImage.js
node pdfToImage.js
SHELL

Isso executará o script Node.js e converterá o PDF em arquivos de imagem usando pdf-poppler.

Como converter PDF em imagem no Node.js: Figura 3 - Script Node.js

Pasta de saída

Como converter PDF em imagem no Node.js: Figura 4 - Saída

Rasterize PDF File to Image in C

IronPDF para C# .NET

IronPDF é uma biblioteca .NET versátil que permite aos desenvolvedores C# trabalhar com documentos PDF de forma dinâmica. Oferece funcionalidades abrangentes para criar, manipular e converter arquivos PDF em C#.

O IronPDF oferece uma maneira prática de converter documentos PDF em arquivos de imagem usando C#. Essa funcionalidade é particularmente útil quando há necessidade de extrair imagens ou gerar miniaturas de imagens a partir de arquivos PDF programaticamente.

Para converter em imagens usando o IronPDF, você pode seguir os passos no trecho de código abaixo:

using IronPdf;
using IronSoftware.Drawing;

var pdf = PdfDocument.FromFile("input.pdf");

// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;

var pdf = PdfDocument.FromFile("input.pdf");

// Extract all pages to a folder as image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing

Private pdf = PdfDocument.FromFile("input.pdf")

' Extract all pages to a folder as image files
pdf.RasterizeToImageFiles("C:\image\folder\*.png")

' Dimensions and page ranges may be specified
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)

' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
$vbLabelText   $csharpLabel

Como converter PDF em imagem no Node.js: Figura 5 - Saída de PDF para imagem no Node.js

Veja como é fácil converter um PDF em arquivo de imagem usando o IronPDF. Para obter mais detalhes sobre a conversão de PDF em imagem, visite esta página de exemplos de código .

Conclusão

Neste artigo, exploramos como converter arquivos PDF em imagens no Node.js usando o pacote pdf-poppler. Seguindo os passos descritos, você pode integrar recursos de conversão de PDF para imagem em seus aplicativos Node.js , possibilitando uma ampla gama de possibilidades para lidar e manipular documentos PDF programaticamente.

Por outro lado, o IronPDF é uma poderosa biblioteca C# que facilita tarefas de manipulação e conversão de PDFs. Sua capacidade de converter PDFs em imagens oferece uma maneira conveniente de extrair imagens ou gerar representações de imagens de páginas PDF programaticamente. Ao aproveitar os recursos do IronPDF, os desenvolvedores podem integrar facilmente a funcionalidade de conversão de PDF para imagem em seus aplicativos C#.

O IronPDF é gratuito para desenvolvimento e pode ser licenciado para uso comercial. Além disso, você também pode usá-lo em modo comercial com um período de teste gratuito .

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