如何將 PDF 轉換成圖片檔案

This article was translated from English: Does it need improvement?
Translated
View the article in English

要將 PDF 檔案轉換成圖片,請使用 IronPDF 的 NodeJS 模組提供的 rasterizeToImageFiles 方法。您可以配置此方法來支援各種 PDF 到圖片的轉換操作。將 PDF 轉換為 JPG、PNG 和其他圖片格式。可以將每個 PDF 頁面轉換為 JPEG 或 PNG 圖片,或者僅轉換幾個頁面。IronPDF 給您完全的控制權。

繼續閱讀以瞭解如何使用 IronPDF for Node.js 執行 PDF 到圖片的轉換任務。!_

使用 NPM 安裝 IronPDF

Node.js PDF 庫

安裝與 npm

 npm i @ironsoftware/ironpdf

從NPM安裝IronPDF的Nodejs模組以將PDF轉換為PNG, JPG (或 JPEG),GIF,和其他圖片類型。**

將 PDF 轉換為圖片格式

我們假設我們正在處理一個 單頁樣本 PDF 文件 包含佔位符文字。

如何將 PDF 轉換為圖像檔案,圖 1

一張圖片顯示我們的樣本 PDF 檔案在 PDF 查看器應用程式中開啟。從 Learning Container 下載此 PDF 檔案和其他檔案以進行測試:https://www.learningcontainer.com/

以下源代碼將 PDF 檔案轉換為 PNG 檔案。

import {PdfDocument} from "@ironsoftware/ironpdf";

// Convert PDF File to a PNG File
await PdfDocument.fromFile("./sample-pdf-file.pdf").then((resolve) => {
    resolve.rasterizeToImageFiles("./images/sample-pdf-file.png");
    return resolve;
});
NODE.JS

我們使用 PdfDocument.fromFile 方法將我們的範例文件載入 Node 庫中。此功能提供了一個 PdfDocument 代表我們的範例文件。由於我們需要的對象包含在... 承諾我們附上一個回調函數,在 PdfDocument 的 Promise 解決時運行。

在回調函數內,我們呼叫 轉換為圖像文件 在解析的物件上使用方法將單頁文件轉換成圖像。如上所示,我們指定目標路徑。 (包括檔案名稱和副檔名) 作為新圖像的參數。

如何將 PDF 轉換為圖像文件,圖 2

該圖片是由上述源代碼生成的。IronPDF 僅用三行代碼便將我們的範例 PDF 轉換為 PNG 文件!學習容器提供 範例 PDF 文件 可以在您的項目中用於測試目的。你可以 下載 示例中使用的樣本PDF文件免費提供 (以及類似的範例檔案) 從網站上。您可以自由嘗試在不同大小和複雜度的其他PDF上使用上述示例。

下一部分提供了值得考慮的額外PDF轉圖像轉換詳情。

高級圖像轉換選項

將 PDF 轉換為 JPEG

預設情況下,rasterizeToImageFiles 根據目標路徑中指定的文件類型轉換文件。

因此,要將前面範例中使用的範例 PDF 轉換為 JPG 文件 (而不是將 PDF 轉換為 PNG),我們可以簡單地更改用於目標文件路徑的文件名擴展名:

// Convert PDF to JPG (not to PNG)
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");
NODE.JS

另一種達成相同目標的方法是指定一個(n) ImageTypeImageType 的值會覆蓋目的地路徑中宣告的影像檔案類型。這會強制 rasterizeToImageFiles 在執行影像轉PDF任務時不考慮檔案名稱。

您可以在下一個例子中看到這種情況。我們在呼叫 rasterizeToImageFiles 時包含了一個JSON選項參數,宣告了一個 ImageType

import {PdfDocument, ImageType} from "@ironsoftware/ironpdf";

// Convert PDF to JPEG Format using ImageType.JPG
const options = {
   type: ImageType.JPG
};
await PdfDocument.fromFile("./sample-pdf-file.pdf").then((resolve) => {
    pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.png", options);
    return resolve;
});
NODE.JS

執行上面的程式碼還會像我們之前的範例一樣創建一個JPG圖像。不過請注意,目標檔案名仍然使用了PNG檔案擴展名。rasterizeToImageFiles 忽略了路徑中的 .PNG 檔案名擴展名,而是遵循了 ImageType.JPG 類型值。

您可以調整此範例以將PDF轉換為其他圖像類型,包括GIF格式和Bitmap格式。

提示: 使用這種方法在變更檔案名為特定類型不可行或不需要時特別有用。

將多頁PDF檔轉換為圖像檔案

要將包含多個頁面的文件轉換成所需的圖像類型 (PNG、JPG、Bitmap等。),也可以以相同方式使用 rasterizeToImageFiles 方法。調用此方法時,將每個頁面轉換為指定類型的單獨圖像。

如何將 PDF 轉換為圖像,圖 3

兩頁範例 PDF 文件。

以下的樣本代碼塊會生成兩個 PNG 文件 雙頁文件 如上所示。

import {PdfDocument} from "@ironsoftware/ironpdf";

// Convert PDF with two pages to a set of images.
await PdfDocument.fromFile("./multipage-pdf.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-pdf/multipage-pdf-page.png");
});
NODE.JS

如何將PDF轉換為圖像,圖4

使用 rasterizeToImageFiles 方法對兩頁PDF檔案進行操作的結果。該方法為原檔案的每一頁創建一個圖像。

將特定PDF頁面轉換為圖像

宣告一個包含 fromPages 屬性的 JSON 對象可以讓我們光柵化多頁文件中的一個或多個頁面。 (而不是全部頁面)以下代碼範例僅轉換此文檔的第一、第四、第六和第九頁 大型範例檔案 轉換為點陣圖。

import {PdfDocument, ImageType} from "@ironsoftware/ironpdf";

// Convert PDF containing many pages to BMP images.
const options = {
    type: ImageType.BMP,
    fromPages: [0, 3, 5, 8]  // Select only the pages with an image on it.
}
await PdfDocument.fromFile("./sample-pdf-with-images.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-selective-pdf/multipage-pdf-page.bmp", options);
});
NODE.JS

如何將 PDF 轉換為圖像,圖 5

IronPDF 僅在我們在 options 參數中指定的頁面上進行了 PDF 轉換為圖片的操作。

進一步閱讀

API 參考

閱讀關於 PdfDocument 類別及其 rasterizeToImageFiles 方法的 API 文件,以獲取有關如何調整該方法以滿足您需求的更多見解。

範例程式碼

將PDF轉換為圖片: 請參閱 rasterizeToImageFiles 的另一種使用方式。

  • 圖片轉PDF了解如何將一個或多個影像轉換為單一PDF檔案。