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 文件。 它提供全面的功能以在 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();
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.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >