PDF 工具

如何在NodeJS中將PDF轉換為圖像

發佈 2023年8月2日
分享:

將 PDF 文件轉換為像 PNG、JPG、GIF 等圖像格式,可以在各種應用程式中發揮重要作用,從文件管理系統到圖像處理軟體均是如此。本文將學習如何使用 Node.js 將 PDF 轉換為圖像文件。我們將利用一個受歡迎的 npm 套件 (節點套件管理器) 稱為 pdf-poppler 的套件來完成這項任務。

先決條件

首先,確保您已安裝 Node.js 和 npm (節點套件管理器) 安裝在您的機器上。您可以通過在命令提示符中運行以下命令來檢查 Node 的安裝情况。 (指令提示字元):

node --version
npm --version
NODE.JS

如果未安裝,您將需要 下載 從 Node.js 網站獲取。

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

設置專案

要開始,請為您的專案建立一個新目錄。在本教程中,我們將此目錄命名為 NodeJS_PDFtoImage。接下來,請在命令提示符中導航到該目錄並通過運行以下命令初始化一個新的 Node.js 專案:

npm init -y
NODE.JS

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

安裝依賴項目

我們將使用的依賴項是pdf-poppler,它是一個提供易於使用的 API 來將 PDF 轉換為圖片的套件。

在 Windows PowerShell 或命令提示字元中運行以下命令來安裝它:

npm install pdf-poppler
NODE.JS

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

將 PDF 轉換為圖像文件

安裝完成後,請在項目根目錄中創建一個新文件並命名為 pdfToImage.js。使用您喜歡的文本編輯器打開該文件,並添加所需的模組:

const pdfPoppler = require('pdf-poppler');
NODE.JS

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

在NodeJS中如何將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);
    //log message
    console.log('PDF converted to image successfully!');
  } catch (error) {
    console.error('Error converting PDF to image:', error);
  }
}
NODE.JS

該函數使用 pdfPoppler 套件將 PDF 轉換為 JPEG 圖像格式。在這種情況下,我們設置 format 選項為 'JPEG',但您可以選擇其他格式,如 'PNG' 或 'TIFF'。out_dir 選項指定輸出圖像將保存的目錄,而 out_prefix 設置輸出圖像文件的前綴。page 選項允許您指定要轉換的特定頁面,或者您可以將其設置為 null 以轉換所有頁面。

要將 PDF 文件轉換為圖像,您可以使用適當的文件路徑調用 convertPdfToImage 函數。例如:

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

convertPdfToImage(pdfPath, outputPath);
NODE.JS

注意:pdfPath 的值 "/path/to/input.pdf" 替換為實際的輸入 PDF 文件路徑,將 "/path/to/output/folder" 替換為期望的輸出目錄路徑。

完整的代碼如下:

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

const pdfPath = 'C:\\Users\\hp\\Desktop\\NodeJS_PDFtoImage\\pdf_files\\input.pdf';
const outputDir = 'C:\\Users\\hp\\Desktop\\NodeJS_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.js 腳本:

node pdfToImage.js
NODE.JS

這會運行 Node.js 腳本並使用 pdf-poppler 將 PDF 轉換為圖像文件。

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

輸出資料夾

如何在 NodeJS 中將 PDF 轉換為圖片:圖4 - 輸出

將 PDF 檔案光柵化為圖像在 C

IronPDF for C# .NET

IronPDF 是一個多功能的 .NET 程式庫,允許 C# 開發人員即時處理 PDF 文件。它提供了全面的功能來創建、操作和轉換 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();
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()
VB   C#

如何在NodeJS中將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 免費供開發使用,並且可以授權商業使用。此外,你還可以在商業模式下使用它。 免費試用.

< 上一頁
如何在 Chrome 開啟 PDF 文件
下一個 >
如何在 C++ 中查看 PDF 文件

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >