Jak przekonwertować PDF do pliku obrazu w Node.js
IronPDF dla Node.js konwertuje strony PDF na obrazy za pomocą jednego wywołania metody. Metoda rasterizeToImageFiles pozwala na tworzenie plików w formatach PNG, JPG, GIF, BMP i innych z dowolnego pliku PDF — jednostronicowego lub wielostronicowego — z bezpośrednią kontrolą nad rozdzielczością wyjściową i wyborem stron.
Metoda automatycznie wykrywa format wyjściowy na podstawie dostarczonego rozszerzenia pliku, więc przełączanie między formatami nie wymaga zmiany konfiguracji. W środowiskach, w których nie można zmienić rozszerzenia, jawna wartość wyliczeniowa ImageType zastępuje wykrywanie oparte na rozszerzeniu. Dokumentacja IronPDF dla Node.js obejmuje pełny zakres obsługiwanych źródeł wejściowych, w tym ścieżki plików, bufory bajtów i ciągi HTML konwertowane na PDF przed rasteryzacją.
Szybki start: Konwersja PDF do PNG
- Zainstaluj IronPDF:
npm install @ironsoftware/ironpdf - Zaimportuj
PdfDocumentz pakietu - Załaduj plik PDF za pomocą
PdfDocument.fromFile() - Wywołaj
rasterizeToImageFiles()ze ścieżką wyjściową
//: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");
});Minimalny proces (5 kroków)
1. Zainstaluj IronPDF dla Node.js przez npm 2. Zaimportuj klasę `PdfDocument` 3. Załaduj plik PDF za pomocą `PdfDocument.fromFile()` 4. Wywołaj `rasterizeToImageFiles()` z żądaną ścieżką wyjściową i rozszerzeniem 5. Dla wielostronicowych PDF metoda automatycznie dodaje numery stron do każdej nazwy pliku wyjściowegoJak zainstalować IronPDF for Node.js?
npm install @ironsoftware/ironpdfnpm install @ironsoftware/ironpdfZainstaluj pakiet Node.js IronPDF z npm, aby konwertować PDF na PNG, JPG, GIF, BMP i inne formaty obrazów.
Przed konwersją PDF do obrazów na produkcji, skonfiguruj klucz licencyjny. Pakiet wymaga również zainstalowania IronPDF Engine na Twoim systemie — to binarium obsługuje wszystkie operacje renderowania PDF i musi być obecne, aby konwersja mogła działać.
Jakie są wymagania systemówe?
Wymagana jest Node.js 12 lub nowsza. Plik binarny IronPDF Engine jest pobierany automatycznie przy pierwszym ładowaniu pakietu, ale możesz także zainstalować go ręcznie, jeśli środowisko wdrożeniowe ogranicza dostęp do sieci zewnętrznej. Pakiet @ironsoftware/ironpdf jest dostępny w rejestrze npm i nie wymaga kompilacji modułów natywnych, co sprawia, że procesy CI są proste.
Jak przekonwertować plik PDF na obraz?
Metoda rasterizeToImageFiles odczytuje dokument PDF i zapisuje jeden plik obrazu na stronę w podanej ścieżce wyjściowej. W przypadku jednostronicowych plików PDF generuje dokładnie jeden obraz. W przypadku PDF-ów wielostronicowych automatycznie dodawany jest sufiks numeru strony do każdej nazwy pliku.
Przykład poniżej ładuje< a href="próbkę" target="_blank">https://www.learningcontainer.com/wp-content/uploads/2019/09/sample-pdf-file.pdf">próbkę PDF z Learning Container i konwertuje ją na plik PNG.
Próbka pliku PDF otwarta w przeglądarce. Pobierz ten plik i inne testowe PDF-y z 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 ładuje plik PDF i zwraca obietnicę (Promise) rozwiązującą się w obiekt PdfDocument. Funkcja zwrotna .then odbiera przetworzony dokument i wywołuje rasterizeToImageFiles z ścieżką docelową. Rozszerzenie pliku w ścieżce — w tym przypadku .png — informuje IronPDF, jaki format ma zostać wygenerowany. Blok .catch obsługuje wszelkie błędy odczytu lub konwersji.
PNG wygenerowany z powyższego przykładu PDF. IronPDF konwertuje dokument w trzech liniach kodu.
Aby uzyskać bardziej szczegółowe przykłady opcji tej metody, zobacz przykłady kodu PDF do obrazów.
Jak konwertować PDF do formatu JPEG?
Wybór formatu jest automatyczny: rozszerzenie przekazane do rasterizeToImageFiles określa format wyjściowy. Aby uzyskać JPEG zamiast PNG, zmień rozszerzenie w ścieżce docelowej:
//: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");Gdy nie można kontrolować nazwy pliku wyjściowego — na przykład w automatycznych potokach z ustalonymi schematami nazewnictwa — należy przekazać wartość ImageType w obiekcie opcji, aby zastąpić wykrywanie oparte na rozszerzeniu:
//: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;
});Właściwość type w obiekcie opcji ma pierwszeństwo przed rozszerzeniem nazwy pliku. W powyższym przykładzie rasterizeToImageFiles generuje plik JPEG, mimo że ścieżka docelowa kończy się na .png. Ten sam wzór dotyczy wyjść GIF i BMP.
Jak ustawienia DPI wpływają na jakość wyjścia?
Właściwość dpi w obiekcie opcji kontroluje gęstość pikseli rastrowanego wyniku. Wyższe wartości dają większe pliki z większą szczegółowością; niższe wartości zmniejszają rozmiar pliku kosztem ostrości.
dpi: 300 zapewnia obrazy o jakości drukarskiej, odpowiednie do drukowania w wysokiej rozdzielczości lub archiwizacji. W przypadku wyświetlania na ekranie lub generowania miniatur dpi: 96 zmniejsza rozmiar pliku, zachowując jednocześnie odpowiednią przejrzystość do użytku w sieci.DPI wynoszące 150 to rozsądna wartość domyślna dla większości scenariuszy archiwizacji lub podglądu — wyjście jest wystarczająco wyraźne do czytania na ekranie, a rozmiary plików pozostają na akceptowalnym poziomie. Do treści, które mają być drukowane lub poddawane OCR po konwersji, preferowane jest 300 DPI lub więcej.
Jak konwertować wielostronicowy PDF na obrazy?
W przypadku dokumentów składających się z więcej niż jednej strony, rasterizeToImageFiles tworzy jeden obraz na stronę. IronPDF dodaje indeks strony zaczynający od zera do każdej nazwy pliku wyjściowego, utrzymując porządek bez konieczności pisania dodatkowego kodu.
Próbka dwustronicowego PDF-a. IronPDF tworzy jeden plik obrazu na stronę podczas konwersji.
//: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");
});
Dwa pliki PNG wytworzone z dwustronicowego PDF-a. IronPDF nazywa każdy plik wyjściowy numerem strony.
To automatyczne dzielenie na strony działa ze wszystkimi obsługiwanymi formatami obrazów. Połącz to z opcją fromPages w następnej sekcji, aby przekonwertować tylko określone strony z dużych dokumentów. Aby pracować w przeciwnym kierunku, przykład obraz do PDF pokazuje, jak łączyć wiele plików obrazów w jeden dokument PDF.
Jak są strukturyzowane nazwy plików wyjściowych?
Wzór nazwy pliku używa numeru strony zaczynającego się od jedynki poprzedzającego rozszerzenie pliku. Jeśli ścieżka wyjściowa to ./images/report-page.png, trzy stronicowy plik PDF generuje report-page_1.png, report-page_2.png oraz report-page_3.png. Katalog wyjściowy musi istnieć przed wywołaniem rasterizeToImageFiles — metoda nie tworzy automatycznie brakujących katalogów.
rasterizeToImageFiles. Metoda zgłasza błąd, jeśli katalog docelowy nie istnieje. Użyj fs.mkdirSync('./images/output', { recursive: true }) w Node.js, aby utworzyć go wcześniej.Jak konwertować tylko konkretne strony?
Właściwość fromPages w obiekcie opcji przyjmuje tablicę indeksów stron zaczynających się od zera. Tylko określone strony są rastrowane; wszystkie inne zostają pominięte. To przydatne, gdy pracujesz z dużymi PDF-ami, gdzie potrzebna jest tylko podgrupa stron — na przykład wydobycie stron tytułowych i początkowych dla sekcji dla podglądu dokumentu. Jeśli przed konwersją konieczne jest przetworzenie poszczególnych stron, dokumentacja API Node.js dla PdfDocument opisuje dodatkowe operacje na poziomie strony.
//: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);
});
IronPDF zrasteryzował tylko cztery strony określone w tablicy fromPages. Pozostałe strony nie zostały przetworzone.
Indeksy stron w fromPages są liczone od zera, więc [0, 3, 5, 8] odnosi się do pierwszej, czwartej, szóstej i dziewiątej strony. Wartość DPI równą 150 balansuje jakość wyjścia z rozmiarem pliku — odpowiednia do przypadku użycia w archiwizacji lub podglądzie. Selektoryczna konwersja jest kompatybilna z wszystkimi obsługiwanymi typami obrazów.
Jaka jest różnica między numeracją stron zaczynającą się od zera a zaczynającą się od jedynki?
fromPages wykorzystuje indeksowanie od zera, zgodne ze standardową konwencją tablic w JavaScript. Strona 1 dokumentu odpowiada indeksowi 0, strona 2 – indeksowi 1 itd. Różni się to od numeracji stron zaczynającej się od jedynki, którą widać w przeglądarkach PDF. Podczas tłumaczenia numerów stron przeglądarki na indeksy fromPages należy odjąć jeden od każdego numeru strony.
pdf.pageCount() z interfejsu API PdfDocument i użyj [pdf.pageCount() - 1] jako wartości fromPages.Jakie są kolejne kroki konwersji PDF na obraz?
Metoda rasterizeToImageFiles firmy IronPDF obsługuje wybór formatu, dzielenie na wiele stron oraz selektywną konwersję stron w spójnym interfejsie API. Obiekt opcji jest jedynym punktem rozszerzania dla nadpisywania formatu, kontroli DPI i filtrowania stron.
Ponadto dokumentacja API IronPDF for Node.js zawiera wszystkie parametry dostępne w klasach rasterizeToImageFiles i PdfDocument. Przykład kodu PDF to Images pokazuje rasterizeToImageFiles użyty z dodatkową konfiguracją. Aby pracować w przeciwnym kierunku, zobacz konwersję obrazów na pliki PDF lub konwersję wieloklatkowych plików TIFF na PDF.
Rozpocznij darmową wersję próbną IronPDF dla Node.js, aby przetestować konwersję PDF na obraz w swoim własnym projekcie. Zobacz opcje licencyjne, aby znaleźć plan pasujący do twojego zespołu.
Gotowy, aby zobaczyć, co jeszcze potrafi IronPDF? Przejrzyj pełen samouczek dla Node.js tutaj: HTML do PDF w Node.js
Często Zadawane Pytania
Jak przekonwertować plik PDF na obraz w Node.js?
Użyj metody IronPDF rasterizeToImageFiles. Zainstaluj pakiet za pomocą npm install @ironsoftware/ironpdf, załaduj swój PDF przez PdfDocument.fromFile(), a następnie wywołaj rasterizeToImageFiles() z podaną ścieżką wyjściową. Rozszerzenie pliku automatycznie określa format wyjściowy.
Jakie formaty obrazów obsługuje rasterizeToImageFiles?
IronPDF obsługuje wyjścia w formatach PNG, JPG, GIF i BMP. Format jest wykrywany na podstawie rozszerzenia pliku w ścieżce wyjściowej. Aby to obejść, przekaż w obiekcie z opcjami wartość enum ImageType: na przykład { type: ImageType.JPG } wymusza wyjście w JPEG bez względu na rozszerzenie nazwy pliku.
Jak przekonwertować tylko określone strony PDF na obrazy?
Przekaż tablicę fromPages w obiekcie z opcjami. Tablica akceptuje indeksy stron oparte na zerach, więc fromPages: [0, 2, 4] konwertuje pierwszą, trzecią i piątą stronę. Strony nie wymienione w tablicy zostaną pominięte.
Jakie DPI powinienem użyć przy konwersji PDF na obraz?
Ustaw właściwość dpi w obiekcie z opcjami. Użyj dpi: 96 do wyświetlania na ekranie i miniatur, dpi: 150 do archiwizacji i wizualizacji, a dpi: 300 do wyjść o jakości drukowanej lub treści, które będą przetwarzane przez OCR po konwersji.
Jakie są wymagania instalacyjne dla IronPDF w Node.js?
Wymagana jest wersja Node.js 12 lub nowsza. Zainstaluj pakiet za pomocą npm install @ironsoftware/ironpdf. Plik binarny IronPDF Engine pobiera się automatycznie przy pierwszym użyciu i obsługuje całe renderowanie PDF. W przypadku produkcji, skonfiguruj klucz licencyjny, aby usunąć znaki wodne z wyjścia.
Jak są strukturyzowane nazwy plików wyjściowych dla wielostronicowych PDF-ów?
IronPDF dodaje numer strony oparty na jedynce przed rozszerzeniem pliku. Jeśli ścieżka wyjściowa to report-page.png, trzystronicowy PDF produkuje report-page_1.png, report-page_2.png i report-page_3.png. Katalog wyjściowy musi istnieć przed wywołaniem metody.
Czy konwersja PDF na obraz jest asynchroniczna w Node.js?
Tak. Zarówno PdfDocument.fromFile(), jak i rasterizeToImageFiles() zwracają Obietnice. Połącz .then() dla ścieżki sukcesu i .catch(), aby obsłużyć błędy konwersji. Można również użyć składni async/await z tymi metodami.





