Przejdź do treści stopki
NARZęDZIA PDF

Najlepsze opcje przeglądarki PDF w 2022

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 artykułe 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 do wykonania tego zadania.

Wymagania wstępne

Po pierwsze, upewnij się, że masz zainstalowane Node.js i npm (Node Package Manager) na swoim urządzeniu. 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 przekonwertować PDF na obraz w Node.js: Rysunek 1 - moduł Node.js

Konfiguracja projektu

Aby rozpocząć, utwórz nowy katalog dla projektu. Dla tego poradnika, 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 projektu.

Instalowanie zależności

Zależność, której użyjemy, to pdf-poppler, pakiet zapewniający łatwy w użyciu interfejs API do konwersji plików 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 przekonwertować 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) oraz ś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. Ustawiliśmy opcję format na 'jpeg' w tym przypadku, ale możesz wybrać inne formaty, takie jak 'png' lub '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 określić konkretną stronę do konwersji lub pozostawić ją jako null, aby konwertować wszystkie strony.

Aby przekonwertować plik PDF na obrazy, możesz wywołać funkcję convertPdfToImage z odpowiednimi ścieżkami 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 PDF wejściowego i "/path/to/output/folder" na żą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 obrazów za pomocą pdf-poppler.

Jak przekonwertować PDF na obraz w Node.js: Rysunek 3 - skrypt Node.js

Katalog wyjściowy

Jak przekonwertować PDF na obraz w Node.js: Rysunek 4 - Wynik

Rasterize PDF File to Image in C

IronPDF for 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 przekonwertować PDF na obraz w Node.js: Rysunek 5 - Wynik PDF na obraz 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 zbadaliśmy, jak konwertować pliki PDF na obrazy w Node.js za pomocą 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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie