在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在 Node.js 中將 PDF 轉換為文本對象是許多 Node.js 應用程序中的常見任務,特別是在處理數據分析、內容管理系統或甚至是簡單的轉換工具時。使用 Node.js 環境和 IronPDF 庫,開發人員可以輕鬆地 將 PDF 文件轉換為可用的文本數據本教程旨在指導初學者通過設置 Node.js 項目來使用 IronPDF 從 PDF 頁面文件中提取文本,重點關注安裝詳情、PDF 解析實現、錯誤處理和實際應用等關鍵方面。
在您的 IDE 中創建一個 Node.js 應用程序。
使用 npm 安裝 PDF 庫。
將 PDF 頁面加載到應用程序中。
使用 extractText 方法提取文字。
在開始這個旅程之前,確保您擁有以下物品:
創建一個新目錄作為您的專案,並初始化一個 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
使用 npm 安裝 IronPDF:
npm install ironpdf
npm install ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
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"
在第一步中,您需要導入必要的模組。PdfDocument 和 IronPdfGlobalConfig 從 @ironsoftware/ironpdf 套件中導入,這對於處理 PDF 文件和配置 IronPDF 是必不可少的。還導入了核心 Node.js 模組 fs,用於處理檔案系統操作。
(async function createPDFs() {
// ...
})();
(async function createPDFs() {
// ...
})();
(async [function] createPDFs() { })()
在這裡,一個名為 createPDFs 的非同步匿名函式被定義並立即調用。這種設定允許在函式內使用 await,從而便於處理非同步操作,這在處理文件I/O和像 IronPDF 這樣的外部庫時是很常見的。
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)
在此步驟中,您將為 IronPDF 建立配置物件,包括授權金鑰,並使用 IronPdfGlobalConfig.setConfig 套用此配置。這對於啟用 IronPDF 的所有功能至關重要,特別是在您使用授權版本時。
const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = Await PdfDocument.fromFile("report.pdf")
在這步驟中,代碼正確地使用了 PdfDocument 類的 fromFile 方法來加載一個現有的 PDF 文件。這是一個非同步操作,因此使用了 await。通過指定您的 PDF 文件的路徑 (在這種情況下,"old-report.pdf"), pdf 變數成為您的 PDF 文件的表示,已完全加載並準備進行文本提取。這個步驟很關鍵,因為它是解析 PDF 文件並準備進行任何您希望在其上執行的操作的地方,例如提取文本。
const text = await pdf.extractText();
const text = await pdf.extractText();
const text = Await pdf.extractText()
在這裡,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)
在此步驟中,處理萃取出的文字以計算單詞的數量。這是通過使用一個匹配一個或多個空白字符的正則表達式將文字字串拆分成單詞陣列,然後計算所得到的陣列長度來實現的。
fs.writeFileSync("extracted_text.txt", extractedText);
fs.writeFileSync("extracted_text.txt", extractedText);
fs.writeFileSync("extracted_text.txt", extractedText)
這行程式碼旨在將提取的文字保存到名為extracted_text.txt的檔案。不過,這裡似乎有一個錯誤:變數extractedText在代碼中未定義。應該是text,它保存了提取的文字:
fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text)
這行更正的代碼使用 fs 模塊的 writeFileSync 方法同步地將提取的文本寫入文件。
} 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
最後,代碼中包含了一個 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]); }
})()
此腳本包括從 PDF 文件中提取文本所需的所有必要組件:設置帶許可密鑰的 IronPDF,載入 PDF 文件,提取文本,進行簡單的文本分析 (字數在這種情況下)以及將提取的文本保存到檔案中。此程式碼包裝在一個非同步函式中,以處理 Node.js 中檔案操作和 PDF 處理的非同步性。
執行腳本後,你將得到兩個重要的組件來分析:原始 PDF 文件和包含提取文本的文本文件。本節將引導你理解和評估腳本的輸出結果。
您選擇用於此過程的PDF文件,在此情況下名為“old-report.pdf”,是起點。PDF文件的複雜性和內容可能差異很大。它們可能包含簡單明了的文本,或者富含圖片、表格和各種文本格式。您的PDF結構和複雜性將直接影響提取過程。
運行腳本後,將會創建一個名為 "extracted_text.txt" 的新文本文件。該文件包含從 PDF 文件中提取的所有文本。
這是控制台上的輸出:
從 PDF 中提取文本在資料挖掘和分析中特別有用。無論是提取財務報告、研究論文或任何其他 PDF 文件,將 PDF 轉換為文本的能力對於資料分析任務來說至關重要。
在內容管理系統中,您經常需要處理各種文件格式。IronPDF 可以成為系統中的重要組成部分,該系統管理、存檔和檢索以 PDF 格式存儲的內容。
這本綜合指南已經帶領您完成設置 Node.js 專案,並使用 IronPDF 從 PDF 檔案中提取文字的過程。從處理基本的文字提取,到深入探索更複雜的功能如文字物件提取和性能優化,您現在已具備在 Node.js 應用中實施高效 PDF 文字提取的知識。
請記住,旅程並未在此結束。PDF 處理和文字提取的領域非常廣泛,還有更多的功能和技術等待探索。接受挑戰,繼續提升您在這個令人興奮的軟體開發領域中的技能。
值得注意的是,IronPDF 提供了一個 免費試用 供用戶探索其功能。對於那些希望將IronPDF整合到專業環境中的人員,授權費用從$Lite License開始。