使用 IRONPDF FOR NODE.JS

如何在Node.js中將PDF轉換為文本

發佈 2024年1月4日
分享:

介紹

在 Node.js 中將 PDF 轉換為文本對象是許多 Node.js 應用程序中的常見任務,特別是在處理數據分析、內容管理系統或甚至是簡單的轉換工具時。使用 Node.js 環境和 IronPDF 庫,開發人員可以輕鬆地 將 PDF 文件轉換為可用的文本數據本教程旨在指導初學者通過設置 Node.js 項目來使用 IronPDF 從 PDF 頁面文件中提取文本,重點關注安裝詳情、PDF 解析實現、錯誤處理和實際應用等關鍵方面。

如何在 NodeJS 中將 PDF 轉換為文字

  1. 在您的 IDE 中創建一個 Node.js 應用程序。

  2. 使用 npm 安裝 PDF 庫。

  3. 將 PDF 頁面加載到應用程序中。

  4. 使用 extractText 方法提取文字。

  5. 使用提取的文字進行處理並返回數據。

先決條件

在開始這個旅程之前,確保您擁有以下物品:

  • Node.js 安裝在您的機器上。
  • 基本的 JavaScript 知識。
  • 一個 PDF 文件以測試運行提取過程。

設置您的 Node.js 專案

第一步:初始化您的 Node.js 應用程式

創建一個新目錄作為您的專案,並初始化一個 Node.js 應用程式:

mkdir pdf-to-text-node
cd pdf-to-text-node
npm init -y
mkdir pdf-to-text-node
cd pdf-to-text-node
npm init -y
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'mkdir pdf-@to-text-node cd pdf-@to-text-node npm init -y
VB   C#

第2步:安裝 IronPDF

使用 npm 安裝 IronPDF:

npm install ironpdf
npm install ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
VB   C#

使用 IronPDF 實現 PDF 到文本轉換

步驟 1:匯入必要的模組

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
VB   C#

在第一步中,您需要導入必要的模組。PdfDocumentIronPdfGlobalConfig@ironsoftware/ironpdf 套件中導入,這對於處理 PDF 文件和配置 IronPDF 是必不可少的。還導入了核心 Node.js 模組 fs,用於處理檔案系統操作。

步驟 2:設定非同步函式

(async function createPDFs() {
  // ...
})();
(async function createPDFs() {
  // ...
})();
(async [function] createPDFs() { })()
VB   C#

在這裡,一個名為 createPDFs 的非同步匿名函式被定義並立即調用。這種設定允許在函式內使用 await,從而便於處理非同步操作,這在處理文件I/O和像 IronPDF 這樣的外部庫時是很常見的。

步驟 3:應用許可密鑰

const IronPdfConfig = {
  licenseKey: "Your-License-Key",
};
IronPdfGlobalConfig.setConfig(IronPdfConfig);
const IronPdfConfig = {
  licenseKey: "Your-License-Key",
};
IronPdfGlobalConfig.setConfig(IronPdfConfig);
const IronPdfConfig = { licenseKey: "Your-License-Key"}
IronPdfGlobalConfig.setConfig(IronPdfConfig)
VB   C#

在此步驟中,您將為 IronPDF 建立配置物件,包括授權金鑰,並使用 IronPdfGlobalConfig.setConfig 套用此配置。這對於啟用 IronPDF 的所有功能至關重要,特別是在您使用授權版本時。

步驟 4: 加載 PDF 文件

const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = Await PdfDocument.fromFile("report.pdf")
VB   C#

在這步驟中,代碼正確地使用了 PdfDocument 類的 fromFile 方法來加載一個現有的 PDF 文件。這是一個非同步操作,因此使用了 await。通過指定您的 PDF 文件的路徑 (在這種情況下,"old-report.pdf"), pdf 變數成為您的 PDF 文件的表示,已完全加載並準備進行文本提取。這個步驟很關鍵,因為它是解析 PDF 文件並準備進行任何您希望在其上執行的操作的地方,例如提取文本。

步驟五:從 PDF 提取文字

const text = await pdf.extractText();
const text = await pdf.extractText();
const text = Await pdf.extractText()
VB   C#

在這裡,extractText 方法被調用於 pdf 對象上。這個異步操作從加載的 PDF 文件中提取所有文本,並將其存儲在 text 變量中。

第六步:處理提取的文本

const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);
const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);
const wordCount = text.split(/\s+/).length
console.log("Word Count:", wordCount)
VB   C#

在此步驟中,處理萃取出的文字以計算單詞的數量。這是通過使用一個匹配一個或多個空白字符的正則表達式將文字字串拆分成單詞陣列,然後計算所得到的陣列長度來實現的。

第 7 步:將提取的文本保存到文件

fs.writeFileSync("extracted_text.txt", extractedText);
fs.writeFileSync("extracted_text.txt", extractedText);
fs.writeFileSync("extracted_text.txt", extractedText)
VB   C#

這行程式碼旨在將提取的文字保存到名為extracted_text.txt的檔案。不過,這裡似乎有一個錯誤:變數extractedText在代碼中未定義。應該是text,它保存了提取的文字:

fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text)
VB   C#

這行更正的代碼使用 fs 模塊的 writeFileSync 方法同步地將提取的文本寫入文件。

第8步:錯誤處理

} catch (error) {
  console.error("An error occurred:", error); //log error
}
} catch (error) {
  console.error("An error occurred:", error); //log error
}
}
Catch e1 As [error]
  console.error("An error occurred:", [error]) 'log error
End Try
VB   C#

最後,代碼中包含了一個 try-catch 區塊來處理錯誤。如果 try 區塊內的任何異步操作失敗,catch 區塊就會捕捉到錯誤,並將訊息記錄到控制台中。這對於調試和確保您的應用程序可以優雅地處理意外問題非常重要。

完整程式碼

以下是完整的程式碼,包含我們討論過的所有步驟,用於在 Node.js 環境中使用 IronPDF 從 PDF 文件中提取文本:

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/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 "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/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
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromFile("old-report.pdf"); const text = Await pdf.extractText(); const wordCount = text.split(/\s+/).length; console.log("Word Count:", wordCount); fs.writeFileSync("extracted_text.txt", text); console.log("Extracted text saved to extracted_text.txt");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

此腳本包括從 PDF 文件中提取文本所需的所有必要組件:設置帶許可密鑰的 IronPDF,載入 PDF 文件,提取文本,進行簡單的文本分析 (字數在這種情況下)以及將提取的文本保存到檔案中。此程式碼包裝在一個非同步函式中,以處理 Node.js 中檔案操作和 PDF 處理的非同步性。

分析輸出結果:PDF 和提取的文本

執行腳本後,你將得到兩個重要的組件來分析:原始 PDF 文件和包含提取文本的文本文件。本節將引導你理解和評估腳本的輸出結果。

原始PDF文件

您選擇用於此過程的PDF文件,在此情況下名為“old-report.pdf”,是起點。PDF文件的複雜性和內容可能差異很大。它們可能包含簡單明了的文本,或者富含圖片、表格和各種文本格式。您的PDF結構和複雜性將直接影響提取過程。

如何在 Node.js 中將 PDF 轉換為文本:圖 1 - 原始 PDF

提取的文本文件

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

如何在 Node.js 中將 PDF 轉換為文字:圖 2 - 提取的文字

這是控制台上的輸出:

如何在 Node.js 中將 PDF 轉換為文本:圖 3 - 控制台輸出

應用實例與使用案例

資料挖掘和分析

從 PDF 中提取文本在資料挖掘和分析中特別有用。無論是提取財務報告、研究論文或任何其他 PDF 文件,將 PDF 轉換為文本的能力對於資料分析任務來說至關重要。

內容管理系統

在內容管理系統中,您經常需要處理各種文件格式。IronPDF 可以成為系統中的重要組成部分,該系統管理、存檔和檢索以 PDF 格式存儲的內容。

結論

如何在 Node.js 中將 PDF 轉換為文字:圖 4 - 授權

這本綜合指南已經帶領您完成設置 Node.js 專案,並使用 IronPDF 從 PDF 檔案中提取文字的過程。從處理基本的文字提取,到深入探索更複雜的功能如文字物件提取和性能優化,您現在已具備在 Node.js 應用中實施高效 PDF 文字提取的知識。

請記住,旅程並未在此結束。PDF 處理和文字提取的領域非常廣泛,還有更多的功能和技術等待探索。接受挑戰,繼續提升您在這個令人興奮的軟體開發領域中的技能。

值得注意的是,IronPDF 提供了一個 免費試用 供用戶探索其功能。對於那些希望將IronPDF整合到專業環境中的人員,授權費用從$Lite License開始。

< 上一頁
如何在 Node.js 中編輯 PDF 文件
下一個 >
如何在 Node.js 中分割 PDF 檔案

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

免費 npm 安裝 查看許可證 >