IRONSOFTWAREHOME

如何在Node.js中將PDF轉換為圖像檔案

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

IronPDF for Node.js 透過單次方法呼叫將PDF頁面轉換為圖像。 rasterizeToImageFiles 方法可從任何單頁或多頁PDF生成PNG、JPG、GIF、BMP和其他格式,並能直接控制輸出解析度和頁面選擇。

該方法自動從您提供的文件擴展名檢測輸出格式,因此切換格式不需要更改配置。 在擴展名無法更改的環境中,可透過顯式的ImageType列舉值覆蓋基於擴展名的檢測。 IronPDF Node.js文件涵蓋了支持的輸入來源的全範圍,包括文件路徑、位元組緩衝區和由HTML字串轉為PDF後再光柵化。

快速入門:將PDF轉換為PNG
  1. 安裝IronPDF:npm install @ironsoftware/ironpdf
  2. 從套件中引入PdfDocument
  3. 用PdfDocument.fromFile()載入您的PDF
  4. 用輸出路徑呼叫rasterizeToImageFiles()
import { PdfDocument } from "@ironsoftware/ironpdf";

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

如何安裝IronPDF for Node.js?

> npm i @ironsoftware/ironpdf

從npm安裝IronPDF的Node.js套件以將PDF轉換為PNG、JPG、GIF、BMP和其他圖像格式。

在生產環境中將PDF轉換為圖像之前,配置您的授權金鑰。 該套件還要求您的系統中安裝IronPDF 引擎 - 該二進位檔會處理所有PDF渲染操作,且必須存在才能進行轉換。

系統需求是什麼?

需要Node.js 12或更高版本。 IronPDF 引擎二進位檔在套件首次載入時自動下載,但如果您的部署環境限制外部網路存取,您也可以手動安裝它。 @ironsoftware/ironpdf 套件可在npm註冊中心上獲得,且不涉及本機模組編譯步驟,保持CI管道簡單直接。

請注意: 開發期間不需要授權金鑰。 未授權模式下生成水印輸出。 配置有效金鑰後,水印將被移除。

如何將PDF轉換為圖像?

rasterizeToImageFiles 方法讀取PDF文件並向您提供的輸出路徑寫入每頁一個圖像檔案。對於單頁PDF,它只生成一個圖像。 對於多頁PDF,它會自動在每個文件名追加頁碼後綴。

以下範例載入Learning Container 的範例PDF並將其轉換為PNG檔案。

PDF查看器顯示的一頁Lorem Ipsum範例文件在PDF轉圖像轉換之前用作輸入 在查看器中打開的範例PDF文件。 從Learning Container下載此文件和其他測試PDF。

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

PdfDocument物件的Promise。 rasterizeToImageFiles。 該路徑中的文件擴展名 - 此處是.png - 告知IronPDF要生成哪種格式。 .catch塊處理任何讀取或轉換錯誤。

轉換的PNG輸出文件顯示Lorem Ipsum文件內容作為PNG圖像渲染 從上述範例PDF生成的PNG。 IronPDF用三行程式碼轉換文件。

有關此方法選項的更多詳盡範例,請參見PDF到圖像程式碼範例頁。

如何將PDF轉換為JPEG格式?

格式選擇是自動的:無論您傳遞給rasterizeToImageFiles的擴展名為何都將決定輸出格式。 要生成JPEG而不是PNG,請更改目標路徑中的擴展名:

//: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");
JavaScript

當無法控制輸出文件名時 - 例如,在具有固定命名方案的自動化管道中 - 在選項物件中傳遞ImageType值以覆蓋基於擴展名的檢測:

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

選項物件中的type屬性優先於文件名擴展名。 在上述範例中,.png結尾。 相同模式適用於GIF和BMP輸出。

DPI設置如何影響輸出質量?

選項物件中的dpi屬性控制光柵化輸出的像素密度。 更高的值生成具有更多細節的較大文件; 較低的值可在犧牲清晰度的情況下減少文件大小。

提示: 設定dpi: 300生成適合高解析度列印或存檔的列印品質圖像。 對於螢幕顯示或縮略圖生成,dpi: 96減小文件大小,同時保持適合網路使用的足夠清晰度。

150 DPI對於大多數存檔或預覽情境是一個合理的預設值 - 輸出在螢幕上足夠清晰可讀,而且文件尺寸仍然可控。 對於轉換後將列印或進行OCR處理的內容,建議使用300 DPI或更高。

如何將多頁PDF轉換為圖像?

對於多於一頁的文件,rasterizeToImageFiles為每頁建立一個圖像。 IronPDF在每個輸出文件名中附加一個零為基礎的頁碼,保持輸出有序,無需您撰寫額外程式碼。

查看器中打開的雙頁PDF文件,顯示圖像轉換前的兩頁範例內容 雙頁範例PDF。 IronPDF在轉換過程中為每頁建立一個圖像文件。

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

由上面雙頁PDF建立的兩個PNG輸出文件 - multipage-pdf-page_1.png和multipage-pdf-page_2.png 從雙頁PDF生成的兩個PNG文件。 IronPDF為每個輸出文件命名時附加其頁碼。

此自動分頁行為適用於所有支持的圖像格式。 在下一節中與fromPages選項配合使用,以便從大型文件中僅轉換特定頁面。 如需進行相反方向的操作,請參見圖像轉PDF範例,以學習如何將多個圖像文件合併到單個PDF文件中。

輸出文件名如何結構化?

文件名模式使用以1位的頁碼附加在文件擴展名前。 如果輸出路徑是report-page_3.png。 在呼叫rasterizeToImageFiles之前必須存在輸出目錄 - 該方法不會自動建立缺失的目錄。

重要: 在呼叫rasterizeToImageFiles之前建立輸出目錄。 如果目標目錄不存在,該方法會拋出錯誤。使用Node.js的fs.mkdirSync('./images/output', { recursive: true })提前建立它。

如何僅轉換特定頁面?

選項物件中的fromPages屬性接受零為基礎的頁碼索引陣列。 僅特定的頁面被光柵化; 所有其他頁面均被跳過。 這在處理僅需要特定頁面子集的大型PDF時尤其有用 - 例如,提取用於文件預覽的封面和段落開始頁面。 當您需要在轉換前處理單個頁面時,Node.js API 參考關於PdfDocument提供了額外的頁面層次操作。

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

四個BMP輸出文件,標記為multipage-pdf-page_1、page_4、page_7和page_9,從一個大PDF生成 IronPDF僅對fromPages陣列中指定的四個頁面進行了光柵化。 其他頁面未經處理。

[0, 3, 5, 8]因此針對第一、第四、第六和第九頁。 150 DPI的值在輸出質量與文件大小之間達到平衡 - 適用於存檔或預覽用途。 選擇性轉換與所有支持的圖像型別相容。

請注意: 從Learning Container下載用於上述範例的帶圖像範例PDF。

零基和一基頁碼之間有何不同?

fromPages使用零基索引,符合JavaScript的標準陣列約定。 文件的第1頁對應的索引是1,依此類推。 這與PDF查看器中顯示的以1為基的頁碼不同。 當將查看器頁碼轉換為fromPages索引時,請從每個頁碼減去一。

提示: 在不知道預先的總頁數的情況下轉換任何PDF的最後一頁,使用PdfDocument API中的fromPages值。

PDF到影像轉換的下一步是什麼?

IronPDF的rasterizeToImageFiles方法在一致的API中處理格式選擇、多頁分割和選擇性頁面轉換。 選項物件是格式覆蓋、DPI控制和頁面過濾的單一擴展點。

如需進一步了解,IronPDF Node.js API 參考記錄了在PdfDocument類上可用的所有參數。 PDF到影像程式碼範例展示了rasterizeToImageFiles的使用及其他配置。 如需進行相反方向工作,請參見將圖像轉換為PDF文件或將多幀TIFF文件轉為PDF。

開始您對IronPDF for Node.js的免費試用以在您自己的項目中測試PDF到影像轉換。 查看授權選項以找到適合您團隊的方案。

準備好看看IronPDF還能做什麼嗎? 在這裡查看完整的Node.js教程:Node.js中的HTML到PDF

常見問題

如何在Node.js中將PDF轉換為圖片?

使用IronPDF的rasterizeToImageFiles方法。使用npm install @ironsoftware/ironpdf安裝套件,使用PdfDocument.fromFile()載入您的PDF,然後使用輸出路徑呼叫rasterizeToImageFiles()。檔案的副檔名將自動確定輸出格式。

rasterizeToImageFiles支持哪些圖片格式?

IronPDF支持PNG、JPG、GIF和BMP輸出。格式從輸出路徑的檔案副檔名中檢測。要覆蓋此設置,請在選項物件中傳遞ImageType枚舉值:例如,{ type: ImageType.JPG }會強制輸出為JPEG格式,不論文件名的副檔名為何。

如何僅將PDF的特定頁面轉換為圖片?

在選項物件中傳遞fromPages陣列。該陣列接受以零為基礎的頁面索引,因此fromPages: [0, 2, 4]將轉換第一、第三和第五頁。未列入陣列的頁面將被跳過。

將PDF轉換為圖片時應使用什麼DPI?

在選項物件中設定dpi屬性。對於螢幕顯示和縮圖,使用dpi: 96,對於存檔和預覽用例,使用dpi: 150,對於高品質列印輸出或在轉換後將通過OCR處理的內容,使用dpi: 300。

在Node.js中安裝IronPDF的要求是什麼?

需要Node.js 12或更高版本。使用npm install @ironsoftware/ironpdf安裝套件。IronPDF引擎可執行檔首次使用時會自動下載並處理所有PDF渲染。為了在生產環境中使用,請配置許可金鑰以去除輸出中的浮水印。

多頁PDF的輸出文件名如何結構化?

IronPDF會在文件副檔名之前新增以一為基礎的頁碼。如果輸出路徑是report-page.png,那麼一個三頁的PDF將會產生report-page_1.png、report-page_2.png和report-page_3.png。在呼叫方法之前,輸出目錄必須存在。

在Node.js中將PDF轉換為圖片是異步的嗎?

是的。PdfDocument.fromFile()和rasterizeToImageFiles() 都返回Promise。連結.then()以成功路徑並使用.catch()處理轉換錯誤。您也可以使用async/await語法與這些方法一同使用。

What are the system requirements for using IronPDF in a Node.js environment?

You need Node.js version 12 or later, and the IronPDF package will automatically download the IronPDF Engine binary necessary for rendering PDFs upon first run.

Can IronPDF handle converting images to PDF as well?

Yes, IronPDF supports converting images to PDF files. You can learn more from their [image to PDF example](https://ironpdf.com/nodejs/examples/image-to-pdf/), complementing the PDF to image conversion process.

How does IronPDF ensure output filename structure during PDF conversion?

IronPDF appends a one-based page number to the output filenames for multi-page PDFs, maintaining organization. Ensure the output directory exists before calling the `rasterizeToImageFiles` method.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備好開始了嗎?

版本:2026.6剛剛發布

立即獲取免費

立即獲取 30天試用金鑰。

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用金鑰。
無需信用卡或帳戶建立
Node.js模組下載PDF
使用npm安裝

版本: 2026.6

  1. 下載並安裝Node.js 12+。
  2. 在終端機中執行上述命令。

授權從$999起

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費線上演示
Booking Badge

獲得來自全球數百萬工程師的信賴

Iron Software的客戶徽標
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的資料將始終保密。
獲得來自全球數百萬工程師的信賴
Iron Software的客戶徽標
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
Node.js模組下載PDF
使用npm安裝

版本: 2026.6

  1. 下載並安裝Node.js 12+。
  2. 在終端機中執行上述命令。

授權從$999起