
如何在 Node.js 中從 PDF 中提取圖像
如何使用IronPDF Node.js從PDF文件中提取圖片
- 設置Node.js應用程式。
- 安裝IronPDF NPM套件。
- 準備需要提取的PDF。
- 從PDF文件中提取圖片並保存。
先決條件
如果您尚未安裝Node.js,請從https://nodejs.org/下載並安裝它。
介紹IronPDF NPM套件
IronPDF NPM套件是針對IronPDF程式庫的Node.js包裝器,最初是為.NET環境設計的。 它允許開發者在Node.js應用程式中使用IronPDF強大的PDF操作功能。 這個套件對於處理PDF文件特別有用,提供了一系列功能,可用於許多現實世界應用,例如文件處理、報告生成等。
在Node.js中IronPDF的主要功能
-
PDF建立:
IronPDF可以從各種來源建立PDF,包括HTML內容、圖片甚至是純文字。 這一功能對於需要生成報表、發票或任何其他PDF格式文件的Web應用程式非常有用。
IronPDF支持樣式化和格式化HTML內容,使其成為將網頁轉換為結構良好的PDF文件的理想選擇。
-
PDF編輯:
IronPDF允許您通過新增文字、圖片、註釋及修改佈局來操作現有的PDF。 您還可以將多個PDF合併為一個,將大文件拆分為較小部分,或者重新排序PDF中的頁面。
這些功能使其成為需要動態修改PDF的應用程式的理想選擇,例如文件管理系統或需要自動生成文件的應用程式。
-
PDF轉換:
IronPDF的突出功能之一是其將PDF轉換為各種其他格式的能力。 例如,它可以將PDF文件轉換為圖片(PNG, JPEG)、HTML和Word格式。
當您需要將PDF內容以不同格式呈現或為使用者介面建立PDF的圖片預覽時,此功能特別有用。
-
提取文字和圖片:
雖然IronPDF並沒有直接的REST API來從PDF中提取原始圖片,但它提供了一種將PDF頁面作為圖片(如PNG或JPEG)渲染的方法,可用作提取內容的間接方法。
您可以將PDF的每一頁渲染成圖片,有效地捕捉文件的視覺表現,並將其保存以供進一步使用或顯示。
-
將頁面渲染為圖片:
IronPDF可以將PDF頁面轉換為高質量圖片。 例如,您可以將多頁PDF轉換為一系列PNG,每頁一個。 當您需要以縮圖或基於圖像的格式顯示頁面時,這特別有用。 它支持各種圖片格式型別。
-
安全與加密:
IronPDF支持加密PDF的操作。 它允許您打開、解密並操作受保護的文件,這對於需要密碼或其他保護形式的文件特別重要。
-
跨平臺相容性:
IronPDF相容Windows和Linux環境,是伺服器端應用程式的多功能工具。 Node.js的包裝器簡化了將IronPDF整合到基於Node.js的應用程式中的過程。
步驟1:設置Node.js應用程式
首先,通過在本機建立一個文件夾並打開Visual Studio Code來設置Node.js專案文件夾。
mkdir PdfImageExtractor
cd PdfImageExtractor
code .
步驟2:安裝IronPDF NPM套件
安裝IronPDF Node.js套件及其支援套件,根據Windows或Linux機器的不同進行安裝
套件@ironsoftware/ironpdf-engine-windows-x64是專為Windows 64位系統設計的IronPDF程式庫的平臺特定版本。
1. Windows(64位)專用二進制文件
IronPDF程式庫具有平臺特定的依賴關係。 為了使Node.js高效地與IronPDF一起工作,需要針對特定操作系統和架構量身定制的原始二進制文件。 在這種情況下,@ironsoftware/ironpdf-engine-windows-x64套件為Windows 64位環境提供本地引擎。
2. 優化性能
通過使用這個Windows特定的套件,您可以確保IronPDF程式庫在基於Windows的系統上最佳運行。 它確保所有的本地依賴關係,例如與PDF渲染和操作相關的依賴關係,都是相容的,並能夠在您的計算機上順暢運行。
3. 簡化安裝
與其手動管理和配置Windows 64位系統所需的二進制文件,不如安裝@ironsoftware/ironpdf-engine-windows-x64套件來自動這一過程。 這樣節省了時間並消除了潛在的相容性問題。
4. 跨平臺相容性
IronPDF也支持其他平臺,如macOS和Linux。 提供平臺特定的套件使開發者能夠使用適合其操作系統的二進制文件,提高程式庫的整體穩定性和可靠性。
5. 某些功能的必要條件
如果您正在使用某些IronPDF功能(如將PDF渲染為圖片或執行複雜的文件操作),則需要本地引擎。 @ironsoftware/ironpdf-engine-windows-x64套件專門為基於Windows的環境包含此引擎。
步驟3:準備提取的PDF
現在獲取需要提取的PDF文件。 複製供應用程式使用的路徑。 本文使用以下文件。

步驟4:從PDF文件中提取圖片並保存
現在在上述步驟中使用該文件,並在Node.js專案文件夾中的app.js文件中編寫以下程式碼片段。
const fs = require('fs');
const { IronPdfGlobalConfig, PdfDocument } = require('@ironsoftware/ironpdf')
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
(async () => {
// Extracting Image and Text content from Pdf Documents
// Import existing PDF document
const pdf = await PdfDocument.fromFile("ironPDF.pdf");
// Get all text to put in a search index and log it
const text = await pdf.extractText();
console.log('All Text: ' + text);
// Get all Images as buffers
const imagesBuffer = await pdf.extractRawImages();
console.log('Images count: ' + imagesBuffer.length);
// Save the first extracted image to the local file system
fs.writeFileSync("./file1.jpg", imagesBuffer[0]);
// Indicate completion
console.log('Complete!');
})();
運行應用程式:
node app.js
程式碼解釋
此程式碼片段範例演示了如何在Node.js中使用IronPDF程式庫從PDF文件中提取文字和圖片(JPG格式)。
-
授權設置:
IronPdfGlobalConfig用於設置IronPDF的授權金鑰,這是使用程式庫功能所需的。 -
**PDF載入:**程式碼使用
ironPDF.pdf。 這使得程式可以操作PDF的內容。 -
文字提取:
extractText()方法用於從載入的PDF中提取所有文字。 這些文字可以用於索引或在文件中進行搜尋等任務。 -
圖片提取:
extractRawImages()方法用於從PDF中提取原始圖片。 這些圖片以緩衝區的形式返回,,可以進一步保存或處理。 -
**保存圖片:**提取的圖片作為JPG文件保存到本地文件系統中,使用Node的
fs.writeFileSync()方法。 -
**最終輸出:**提取完成後,程式會列印出提取的文字、提取的圖片數量,然後保存第一張圖片。
程式碼演示了如何與PDF文件交互,以在Node.js環境中提取內容並處理它。
輸出


授權(試用可用)
IronPDF Node.js需要授權金鑰才能工作。 開發者可以使用他們的電子郵件ID從授權頁面獲得試用授權。 一旦您提供了電子郵件ID,金鑰將被發送到電子郵件中,可以在如下應用程式中使用。
const { IronPdfGlobalConfig } = require('@ironsoftware/ironpdf')
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
結論
在Node.js中使用IronPDF從PDF中提取圖片提供了一種處理PDF內容的可靠有效方法。 雖然IronPDF並不像某些專門工具那樣提供直接的圖片提取,但它允許將PDF頁面渲染為圖片,這對於建立文件的視覺表示很有用。
該程式庫能夠以簡單明瞭的方式從PDF中提取文字和圖片,使其成為需要處理和操作PDF內容的應用程式的有價值工具。 與Node.js的整合使得開發者能夠輕鬆將PDF提取功能納入Web或伺服器端應用程式。
總的來說,IronPDF是一個強大的PDF操作解決方案,提供靈活性以轉換、保存和從PDF中提取圖片,使其適合於一系列用途,例如文件索引、縮略圖生成和內容提取。 然而,如果您的重點完全在從PDF中提取嵌入圖片,探索附加庫可能會提供更專門的解決方案。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章

