如何在NodeJS中將PDF轉換為圖像
將 PDF 文件轉換為 PNG、JPG、GIF 等影像格式,在從文件管理系統到影像處理軟體等各種應用中都是一項很有價值的功能。 本文將介紹如何使用Node.js將PDF檔案轉換為影像檔。 我們將利用名為pdf-poppler的流行 npm(Node 套件管理器)套件的功能來實現這一目標。
先決條件
首先,請確保您的電腦上已安裝 Node.js 和npm (Node 套件管理器)。您可以透過在命令提示字元 (cmd) 中執行以下命令來檢查 Node 的安裝情況:
node --version
npm --versionnode --version
npm --version如果尚未安裝,您需要從 Node.js 網站下載。
設定專案
首先,為你的專案建立一個新目錄。 在本教學中,我們將此目錄命名為NodeJS_PDFtoImage。接下來,在命令提示字元中導航到該目錄,並透過執行以下命令初始化一個新的 Node.js 專案:
npm init -ynpm init -y執行上述命令將產生一個package.json文件,我們可以使用該文件安裝專案所需的依賴項。
安裝依賴項
我們將使用的依賴項是pdf-poppler ,這是一個提供易於使用的 API 的軟體包,用於將 PDF 轉換為圖像。
在 Windows PowerShell 或命令提示字元中執行下列命令進行安裝:
npm install pdf-popplernpm install pdf-poppler全部完成! 讓我們編寫將 PDF 轉換為圖像的邏輯。
將 PDF 文件轉換為圖像文件
安裝完成後,在專案根目錄中建立一個新文件,並將其命名為pdfToImage.js 。 用你喜歡的文本編輯器打開文件,並添加所需的模組:
const pdfPoppler = require('pdf-poppler');下面顯示的是一個 28 頁的 PDF 文件範例。
接下來,定義一個名為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\\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 pdfToImage.jsnode pdfToImage.js這將運行Node.js腳本並使用pdf-poppler將PDF轉換為圖像檔案。
如何在NodeJS中將PDF轉換為圖像:圖3 - Node.js腳本
輸出資料夾
在 C# 中將 PDF 文件柵格化為圖像
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()如何在 NodeJS 中將 PDF 轉換為圖像:圖 5 - NodeJS PDF 轉圖像輸出
使用 IronPDF 將 PDF 檔案轉換為影像檔案就是這麼簡單。 有關 PDF 轉圖像轉換的更多詳細信息,請訪問此程式碼範例頁面。
結論
在本文中,我們探討如何使用pdf-poppler套件在 Node.js 中將 PDF 檔案轉換為圖片。 按照上述步驟,您可以將 PDF 到圖像轉換功能整合到 Node.js 應用程式中,從而實現以程式設計方式處理和操作 PDF 文件的各種可能性。
另一方面,IronPDF 是一個功能強大的 C# 庫,可以簡化 PDF 操作和轉換任務。 它將 PDF 轉換為圖像的功能,為以程式設計方式提取圖像或生成 PDF 頁面的圖像表示提供了一種便捷的方法。 透過利用 IronPDF 的功能,開發人員可以將 PDF 到影像的轉換功能無縫整合到他們的 C# 應用程式中。
IronPDF 可免費用於開發,並可授權用於商業用途。 此外,您還可以透過免費試用將其用於商業模式。






