Przejdź do treści stopki
NARZęDZIA PDF

Jak konwertować PDF na obraz w Node.js

Konwersja dokumentów PDF do formatów graficznych, takich jak PNG, JPG, GIF, może być wartościową funkcją w różnych aplikacjach, od systemów zarządzania dokumentami po oprogramowanie do przetwarzania obrazów. W tym artykule dowiemy się, jak konwertować PDF do plików graficznych za pomocą Node.js. Wykorzystamy moc popularnego pakietu npm (Node Package Manager) o nazwie pdf-poppler, aby osiągnąć ten cel.

Wymagania wstępne

Najpierw upewnij się, że masz zainstalowane Node.js i npm (Node Package Manager) na swoim komputerze. Możesz sprawdzić instalacje Node, uruchamiając następujące polecenia w wierszu poleceń (cmd):

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

Jeśli nie jest zainstalowane, musisz je pobrać ze strony Node.js.

Jak konwertować PDF na obraz w Node.js: Rysunek 1 - Moduł Node.js

Konfiguracja projektu

Aby rozpocząć, utwórz nowy katalog dla projektu. Dla tego samouczka nazwijmy ten katalog Node.js_PDFtoImage. Następnie przejdź do niego w wierszu poleceń i zainicjuj nowy projekt Node.js, uruchamiając:

npm init -y
npm init -y
SHELL

Uruchomienie powyższego polecenia utworzy plik package.json, który pozwoli nam zainstalować wymagane zależności naszego projektu.

Instalowanie zależności

Zależność, którą wykorzystamy, to pdf-poppler, pakiet, który dostarcza łatwego w użyciu API do konwersji PDF na obrazy.

Zainstaluj to, uruchamiając następujące polecenie w Windows PowerShell lub Wierszu poleceń:

npm install pdf-poppler
npm install pdf-poppler
SHELL

Gotowe! Przejdźmy do napisania logiki do konwersji PDF na obrazy.

Konwersja PDF na plik graficzny

Gdy instalacja zostanie zakończona, utwórz nowy plik w katalogu głównym naszego projektu i nazwij go pdfToImage.js. Otwórz plik w preferowanym edytorze tekstu i dodaj wymagane moduły:

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

Poniżej pokazano przykładowy plik PDF zawierający 28 stron.

Jak konwertować PDF na obraz w Node.js: Rysunek 2 - Plik wejściowy

Następnie zdefiniuj funkcję o nazwie convertPdfToImage, która przyjmuje ścieżkę do pliku PDF (pdfPath) i ścieżkę do katalogu wyjściowego (outputPath). Ta funkcja przekonwertuje nasz przykładowy dokument PDF na obrazy.

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);
  }
}

Funkcja wykorzystuje pakiet pdf-poppler do konwersji PDF na format obrazu JPEG. W tym przypadku ustawiamy opcję format na 'jpeg', ale możesz wybrać inne formaty, takie jak 'png' czy 'tiff'. Opcja out_dir określa katalog, w którym zostaną zapisane obrazy wyjściowe, a out_prefix ustawia prefiks dla plików obrazów wyjściowych. Opcja page pozwala na określenie konkretnej strony do przekonwertowania lub można pozostawić ją jako null, aby przekonwertować wszystkie strony.

Aby przekonwertować plik PDF na obrazy, możesz wywołać funkcję convertPdfToImage z odpowiednimi ścieżkami do plików. Na przykład:

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

convertPdfToImage(pdfPath, outputPath);

Uwaga: Zamień wartość pdfPath "/path/to/input.pdf" na rzeczywistą ścieżkę do pliku wejściowego PDF i "/path/to/output/folder" na pożądaną ścieżkę katalogu wyjściowego.

Pełny kod wygląda następująco:

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);

Wykonaj skrypt Node.js

Uruchom skrypt Node.js, wykonując następujące polecenie:

node pdfToImage.js
node pdfToImage.js
SHELL

To uruchomi skrypt Node.js i przekonwertuje PDF na pliki graficzne przy użyciu pdf-poppler.

Jak konwertować PDF na obraz w Node.js: Rysunek 3 - Skrypt Node.js

Katalog wyjściowy

Jak konwertować PDF na obraz w Node.js: Rysunek 4 - Wyjście

Rasterize PDF File to Image in C

IronPDF dla C# .NET

IronPDF to wszechstronna biblioteka .NET, która pozwala programistom C# pracować z dokumentami PDF w locie. Zapewnia kompleksowe funkcje tworzenia, manipulacji i konwersji plików PDF w C#.

IronPDF oferuje wygodny sposób konwersji dokumentów PDF do plików graficznych za pomocą C#. Ta funkcjonalność jest szczególnie przydatna, gdy istnieje potrzeba wyodrębnienia obrazów lub wygenerowania miniaturek graficznych z plików PDF.

Aby przekonwertować na obrazy przy użyciu IronPDF, możesz postępować zgodnie z poniższymi krokami w kodzie:

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

Jak konwertować PDF na obraz w Node.js: Rysunek 5 - Wyjście PDF do obrazu Node JS

To pokazuje, jak łatwo można przekonwertować plik PDF do pliku graficznego przy użyciu IronPDF. Aby uzyskać więcej szczegółów na temat konwersji PDF do obrazu, odwiedź tę stronę z przykładami kodu.

Wnioski

W tym artykule omówiliśmy, jak konwertować pliki PDF na obrazy w Node.js, używając pakietu pdf-poppler. Realizując opisane kroki, możesz zintegrować możliwość konwersji PDF na obraz w swoich aplikacjach Node.js, umożliwiając szeroki zakres możliwości obsługi i manipulacji dokumentami PDF programowo.

Z drugiej strony, IronPDF to potężna biblioteka C#, która ułatwia zadania manipulacji i konwersji PDF. Jego zdolność do konwersji PDF na obrazy oferuje dogodny sposób wyodrębniania obrazów lub generowania reprezentacji graficznych stron PDF programowo. Korzystając z funkcji IronPDF, programiści mogą bezproblemowo integrować funkcjonalność konwersji PDF na obraz w swoich aplikacjach C#.

IronPDF jest bezpłatny do celów programistycznych, a na potrzeby komercyjne można uzyskać licencję. Ponadto można go także używać w trybie komercyjnym z bezpłatną wersją próbną.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie