跳過到頁腳內容
PDF工具

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

將 PDF 文件轉換為 PNG、JPG、GIF 等影像格式,在從文件管理系統到影像處理軟體等各種應用中都是一項很有價值的功能。 本文將介紹如何使用Node.js將PDF轉換為圖片檔。 我們將利用名為 pdf-poppler 的流行 npm(Node 套件管理器)套件的功能來實現此任務。

先決條件

首先,請確保您的電腦上已安裝Node.js和 Node 套件管理器 (Node 套件管理器)。您可以透過在命令提示字元 (cmd) 中執行以下命令來檢查 Node 的安裝情況:

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

如果尚未安裝,您需要從Node.js網站下載

如何在Node.js中將PDF轉換為圖像:圖1 - Node.js模組

項目設定

首先,為你的專案建立一個新目錄。 在本教學中,我們將此目錄命名為Node.js_PDFtoImage。接下來,在命令提示字元中導航到該目錄,並透過執行以下命令初始化一個新的Node.js專案:

npm init -y
npm init -y
SHELL

執行上述命令將產生一個 package.json 文件,該文件將允許我們安裝專案所需的依賴項。

安裝依賴項

我們將使用的依賴項是 pdf-poppler,這是一個提供易於使用的 API 的軟體包,用於將 PDF 轉換為映像。

在 Windows PowerShell 或命令提示字元中執行下列命令進行安裝:

npm install pdf-poppler
npm install pdf-poppler
SHELL

全部完成! 讓我們編寫將 PDF 轉換為圖像的邏輯。

將 PDF 文件轉換為圖像文件

安裝完成後,在專案根目錄中建立一個新文件,並將其命名為pdfToImage.js 。 用你喜歡的文本編輯器打開文件,並添加所需的模組:

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

下面顯示的是一個 28 頁的 PDF 文件範例。

如何在Node.js中將PDF轉換為圖像:圖2 - 輸入檔案

接下來,定義一個名為 convertPdfToImage 的函數,該函數接受 PDF 檔案的路徑 (pdfPath) 和輸出目錄路徑 (outputPath)。 此函數會將我們的範例 PDF 文件轉換為影像。

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

此函數使用 pdf-poppler 套件將 PDF 轉換為 JPEG 影像格式。 在這種情況下,我們將 format 選項設為"jpeg",但您可以選擇其他格式,例如"png"或"tiff"。 out_dir 選項指定輸出影像的儲存目錄,而 out_prefix 設定輸出影像檔案的前綴。 page 選項可讓您指定要轉換的特定頁面,或者您可以將其留空以轉換所有頁面。

若要將 PDF 檔案轉換為影像,可以使用對應的檔案路徑呼叫 convertPdfToImage 函數。 例如:

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

convertPdfToImage(pdfPath, outputPath);

注意:pdfPath"/path/to/input.pdf" 替換為輸入 PDF 檔案的實際路徑,將 "/path/to/output/folder" 替換為所需的輸出目錄路徑。

完整的程式碼如下:

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

執行Node.js腳本

執行以下命令運行Node.js腳本:

node pdfToImage.js
node pdfToImage.js
SHELL

這將運行Node.js腳本,並使用 pdf-poppler 將 PDF 轉換為映像檔。

如何在Node.js中將PDF轉換為圖像:圖3 - Node.js腳本

輸出資料夾

如何在Node.js中將PDF轉換為圖像:圖4 - 輸出

Rasterize PDF File to Image in C

IronPDF for C# .NET

IronPDF是一個功能強大的.NET庫,它允許 C# 開發人員即時處理 PDF 文件。 它提供了在 C# 中建立、操作和轉換 PDF 文件的全面功能。

IronPDF提供了一種使用 C# 將 PDF 文件轉換為影像檔案的便捷方法。 當需要以程式設計方式從 PDF 文件中提取圖像或生成圖像縮圖時,此功能尤其有用。

若要使用IronPDF轉換為影像,您可以按照以下程式碼片段中的步驟操作:

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();
$vbLabelText   $csharpLabel

如何在Node.js中將PDF轉換為圖像:圖5 - Node JS PDF到圖像輸出

使用IronPDF將 PDF 轉換為圖像檔案就是這麼簡單。 有關 PDF 轉圖像轉換的更多詳細信息,請訪問此程式碼範例頁面

結論

在本文中,我們探討如何使用 pdf-poppler 套件在Node.js中將 PDF 檔案轉換為圖片。 按照上述步驟,您可以將 PDF 到圖像轉換功能整合到Node.js應用程式中,從而實現以程式設計方式處理和操作 PDF 文件的各種可能性。

另一方面, IronPDF是一個功能強大的 C# 庫,可以簡化 PDF 操作和轉換任務。 它將 PDF 轉換為圖像的功能,為以程式設計方式提取圖像或生成 PDF 頁面的圖像表示提供了一種便捷的方法。 透過利用 IronPDF 的功能,開發人員可以將 PDF 到影像的轉換功能無縫整合到他們的 C# 應用程式中。

IronPDF可免費用於開發,並可授權用於商業用途。 此外,您還可以透過免費試用將其用於商業模式。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me