如何在 Node.js 中將 PDF 轉換為文本
在Node.js中,將PDF轉換為文字是許多應用程式中的常見任務,尤其是在處理資料分析、內容管理系統,甚至是簡單的轉換實用程式時。 透過Node.js環境和IronPDF庫,開發人員可以輕鬆地將 PDF 文件轉換為可用的文字資料。 本教學課程旨在指導初學者完成使用IronPDF設定Node.js專案以從 PDF 頁面檔案中提取文字的過程,重點介紹安裝細節、PDF 解析實作、錯誤處理和實際應用等關鍵方面。
如何在Node.js中將PDF轉換為文本
- 在您的 IDE 中建立一個Node.js應用程式。
- 使用npm安裝 PDF 函式庫。
- 將 PDF 頁面載入到應用程式中。
- 使用extractText方法擷取文字。
- 使用提取的文字進行處理並傳回資料。
先決條件
在踏上這段旅程之前,請確保您已準備好以下物品:
您的電腦上已安裝Node.js
- 對JavaScript有基本的了解。
- 用於測試提取過程的 PDF 檔案。
設定你的Node.js項目
步驟 1:初始化您的Node.js應用程式
為你的專案建立一個新目錄,並啟動一個Node.js應用程式:
mkdir pdf-to-text-node
cd pdf-to-text-node
npm init -ymkdir pdf-to-text-node
cd pdf-to-text-node
npm init -y步驟 2:安裝IronPDF
使用 npm 安裝IronPDF :
npm install ironpdfnpm install ironpdf使用IronPDF實現 PDF 到文本的轉換
第一步:導入必要模組
import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";第一步,你需要導入必要的模組。 PdfDocument和IronPdfGlobalConfig分別從IronPDF/ IronPDF套件匯入,它們對於處理 PDF 文件和配置IronPDF至關重要。 fs模組是Node.js 的核心模組,它也被導入用於處理檔案系統操作。
步驟 2:設定非同步函數
(async function createPDFs() {
// ...
})();(async function createPDFs() {
// ...
})();這裡定義了一個名為createPDFs 的非同步匿名函數,並立即呼叫它。 這種設定允許在函數中使用await ,從而方便處理非同步操作,這在處理文件 I/O 和IronPDF等外部程式庫時很常見。
步驟 3:應用許可證密鑰
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
IronPdfGlobalConfig.setConfig(IronPdfConfig);const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
IronPdfGlobalConfig.setConfig(IronPdfConfig);在此步驟中,您將為IronPDF建立一個配置對象,包括授權金鑰,並使用IronPdfGlobalConfig.setConfig套用此配置。 這對於啟用IronPDF的所有功能至關重要,尤其是在使用授權版本時。
步驟 4:載入 PDF 文檔
const pdf = await PdfDocument.fromFile("old-report.pdf");const pdf = await PdfDocument.fromFile("old-report.pdf");在此步驟中,程式碼正確地使用了PdfDocument類別中的fromFile方法來載入現有的 PDF 文件。 這是一個非同步操作,因此使用了await 。 透過指定 PDF 文件的路徑(在本例中為"old-report.pdf"), pdf變數就成為 PDF 文件的表示,該文件已完全加載,可以進行文本提取。 這一步驟至關重要,因為 PDF 文件會在這一步驟中被解析,並準備好進行您希望對其執行的任何操作,例如提取文字。
步驟五:從PDF中提取文本
const text = await pdf.extractText();const text = await pdf.extractText();這裡,對pdf物件呼叫extractText方法。 此非同步操作從已載入的 PDF 文件中提取所有文本,並將其儲存在文字變數中。
步驟 6:處理提取的文本
const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);在此步驟中,對提取的文本進行處理,以統計單字數量。 這是透過使用正規表示式將文字字串拆分成單字數組來實現的,該正則表達式匹配一個或多個空白字符,然後計算結果數組的長度。
步驟 7:將提取的文字儲存到文件
fs.writeFileSync("extracted_text.txt", text);fs.writeFileSync("extracted_text.txt", text);修正後的程式碼行使用fs模組的writeFileSync方法將擷取的文字同步寫入檔案。
步驟 8:錯誤處理
} catch (error) {
console.error("An error occurred:", error); // Log error
}} catch (error) {
console.error("An error occurred:", error); // Log error
}最後,程式碼中包含一個try-catch區塊用於錯誤處理。 如果try程式碼區塊中的非同步操作有任何部分失敗, catch程式碼區塊會擷取該錯誤,並將訊息記錄到控制台。 這對於調試和確保應用程式能夠優雅地處理意外問題至關重要。
完整程式碼
下面的程式碼完整地概括了我們在Node.js環境下使用IronPDF從PDF文件中提取文字的所有步驟:
import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Import existing PDF document
const pdf = await PdfDocument.fromFile("old-report.pdf");
// Get all text to put in a search index
const text = await pdf.extractText();
// Process the extracted text
// Example: Count words
const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);
// Save the extracted text to a text file
fs.writeFileSync("extracted_text.txt", text);
console.log("Extracted text saved to extracted_text.txt");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Import existing PDF document
const pdf = await PdfDocument.fromFile("old-report.pdf");
// Get all text to put in a search index
const text = await pdf.extractText();
// Process the extracted text
// Example: Count words
const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);
// Save the extracted text to a text file
fs.writeFileSync("extracted_text.txt", text);
console.log("Extracted text saved to extracted_text.txt");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();此腳本包含從 PDF 文件中提取文字所需的所有元件:使用許可證金鑰設定IronPDF 、載入 PDF 文件、提取文字、執行簡單的文字分析(本例中為字數統計)以及將提取的文字儲存到文件。程式碼封裝在一個非同步函數中,以處理Node.js中檔案操作和 PDF 處理的非同步特性。
分析輸出結果:PDF 和提取的文本
運行腳本後,您將獲得兩個需要分析的關鍵元件:原始 PDF 檔案和包含提取文字的文字檔案。 本節將指導您理解和評估腳本的輸出結果。
原始PDF文檔
您在此過程中選擇的 PDF 檔案(在本例中名為" old-report.pdf ")是起點。 PDF文件的複雜程度和內容可能差異很大。 它們可能包含簡單明了的文本,也可能包含豐富的圖像、表格和各種文字格式。 PDF文件的結構和複雜程度將直接影響提取過程。

提取的文字文件
腳本運行後,將建立一個名為"extracted_text.txt"的新文字檔案。 該文件包含從 PDF 文件中提取的所有文字。

這是控制台的輸出:

實際應用和用例
資料探勘與分析
從 PDF 中提取文字在資料探勘和分析中特別有用。 無論是提取財務報告、研究論文或任何其他 PDF 文檔,將 PDF 轉換為文字的功能對於資料分析任務至關重要。
內容管理系統
在內容管理系統中,您經常需要處理各種文件格式。 IronPDF可以成為管理、歸檔和檢索以 PDF 格式儲存的內容的系統的關鍵組件。
結論

本綜合指南已引導您完成使用IronPDF設定Node.js專案以從 PDF 文件中提取文字的過程。 從處理基本的文字擷取到深入研究更複雜的功能,例如文字物件擷取和效能最佳化,您現在已經掌握了在Node.js應用程式中實現高效 PDF 文字擷取的知識。
記住,旅程並未在此結束。 PDF 處理和文字擷取領域非常廣闊,還有許多功能和技術值得探索。 接受挑戰,不斷提升你在軟體開發這個令人興奮的領域的技能。
值得注意的是, IronPDF為用戶提供免費試用。 對於那些希望將IronPDF整合到Professional環境中的用戶,我們提供多種授權選項。
常見問題解答
如何設置用於 PDF 文本提取的 Node.js 項目?
要設置用於 PDF 文本提取的 Node.js 項目,首先確保您的機器上安裝了 Node.js。然後,創建一個新的 Node.js 應用程序,並使用 npm 安裝 IronPDF 庫,命令為:npm install ironpdf。
我應該使用什麼方法在 Node.js 中使用 IronPDF 從 PDF 中提取文本?
在 Node.js 中,您可以使用 IronPDF 中 PdfDocument 對象中的 extractText 方法來從加載的 PDF 文檔中提取文本。
為什麼在 Node.js 中使用 PDF 庫需要許可鑰匙?
許可鑰匙對於解鎖 IronPDF 庫的所有功能是必要的,特別是在生產環境中,確保您可以獲得其完整功能。
如果在 PDF 文本提取過程中遇到錯誤,我應該怎麼做?
使用 try-catch 塊來處理 PDF 文本提取過程中的錯誤。這種方法使您能夠捕獲和記錄錯誤,從而確保您的 Node.js 應用程序可以優雅地管理問題。
在 Node.js 中將 PDF 轉換為文本有哪些實際用途?
在 Node.js 中將 PDF 轉換為文本對於數據挖掘、自動化內容管理系統以及與轉換工具集成以處理多樣的文件格式非常有用。
在不購買許可證的情況下,是否可以嘗試 PDF 庫?
是的,IronPDF 提供免費試用版,允許開發者在決定專業使用的許可選項之前探索庫的功能。
異步編程如何使 Node.js 中的 PDF 處理受益?
異步編程在 Node.js 中支持非阻塞操作,這對於文件 I/O 和使用像 IronPDF 這樣的外部庫至關重要,從而提高了性能和效率。








