跳過到頁腳內容
使用 IRONPDF FOR NODE.JS

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

在Node.js中,將PDF轉換為文字是許多應用程式中的常見任務,尤其是在處理資料分析、內容管理系統,甚至是簡單的轉換實用程式時。 透過 Node.js 環境和IronPDF 庫,開發人員可以輕鬆地將 PDF 文件轉換為可用的文字資料。 本教學課程旨在指導初學者完成使用 IronPDF 設定 Node.js 專案以從 PDF 頁面檔案中提取文字的過程,重點介紹安裝細節、PDF 解析實作、錯誤處理和實際應用等關鍵方面。

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

  1. 在您的 IDE 中建立一個 Node.js 應用程式。
  2. 使用npm安裝 PDF 函式庫。
  3. 將 PDF 頁面載入到應用程式中。
  4. 使用extractText方法擷取文字。
  5. 使用提取的文字進行處理並傳回資料。

先決條件

在踏上這段旅程之前,請確保您已準備好以下物品:

您的電腦上已安裝Node.js。

  • 具備 JavaScript 的基本知識。
  • 用於測試提取過程的 PDF 檔案。

設定你的 Node.js 項目

步驟 1:初始化您的 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
SHELL

步驟 2:安裝 IronPDF

使用 npm 安裝 IronPDF:

npm install ironpdf
npm install ironpdf
SHELL

使用 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";
JAVASCRIPT

第一步,你需要導入必要的模組。 PdfDocumentIronPdfGlobalConfig分別從@ironpdf/ironpdf套件匯入,它們對於處理 PDF 文件和配置 IronPDF 至關重要。 fs模組是 Node.js 的核心模組,它也被導入用於處理檔案系統操作。

步驟 2:設定非同步函數

(async function createPDFs() {
  // ...
})();
(async function createPDFs() {
  // ...
})();
JAVASCRIPT

這裡定義了一個名為createPDFs 的非同步匿名函數,並立即呼叫它。 這種設定允許在函數中使用await ,從而方便處理非同步操作,這在處理文件 I/O 和 IronPDF 等外部庫時很常見。

步驟 3:應用許可證密鑰

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

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

步驟 4:載入 PDF 文檔

const pdf = await PdfDocument.fromFile("old-report.pdf");
const pdf = await PdfDocument.fromFile("old-report.pdf");
JAVASCRIPT

在此步驟中,程式碼正確地使用了PdfDocument類別中的fromFile方法來載入現有的 PDF 文件。 這是一個非同步操作,因此使用了await 。 透過指定 PDF 文件的路徑(在本例中為"old-report.pdf"), pdf變數就成為 PDF 文件的表示,該文件已完全加載,可以進行文本提取。 這一步驟至關重要,因為 PDF 文件會在這一步驟中被解析,並準備好進行您希望對其執行的任何操作,例如提取文字。

步驟五:從PDF中提取文本

const text = await pdf.extractText();
const text = await pdf.extractText();
JAVASCRIPT

這裡,對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);
JAVASCRIPT

在此步驟中,對提取的文本進行處理,以統計單字數量。 這是透過使用正規表示式將文字字串拆分成單字數組來實現的,該正則表達式匹配一個或多個空白字符,然後計算結果數組的長度。

步驟 7:將提取的文字儲存到文件

fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text);
JAVASCRIPT

修正後的程式碼行使用fs模組的writeFileSync方法將擷取的文字同步寫入檔案。

步驟 8:錯誤處理

} catch (error) {
  console.error("An error occurred:", error); // Log error
}
} catch (error) {
  console.error("An error occurred:", error); // Log error
}
JAVASCRIPT

最後,程式碼中包含一個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);
  }
})();
JAVASCRIPT

此腳本包含從 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 - 許可

本指南詳細介紹如何使用 IronPDF 設定 Node.js 專案來從 PDF 文件中擷取文字。 從處理基本的文字擷取到深入研究更複雜的功能,例如文字物件擷取和效能最佳化,您現在已經掌握了在 Node.js 應用程式中實現高效 PDF 文字擷取的知識。

記住,旅程並未在此結束。 PDF 處理和文字擷取領域非常廣闊,還有許多功能和技術值得探索。 接受挑戰,不斷提升你在軟體開發這個令人興奮的領域的技能。

值得注意的是,IronPDF為使用者提供免費試用。 對於那些希望將 IronPDF 整合到專業環境中的用戶,我們提供多種授權選項。

常見問題解答

如何設定 Node.js 專案進行 PDF 文字萃取?

若要設定 Node.js 專案以進行 PDF 文字萃取,請先確認已在您的機器上安裝 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 提供免費試用版本,讓開發人員在決定專業使用的 License 選項之前,可以先探索函式庫的功能。

異步程式設計對 Node.js 中的 PDF 處理有何好處?

異步程式設計可在 Node.js 中實現非阻塞操作,這對於檔案 I/O 和使用 IronPDF 等外部函式庫至關重要,從而提高效能和效率。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。