从 PDF 文件中提取文本是构建文档处理流水线时的常见需求,尤其用于搜索索引或数据分析。 GroupDocs.Parser Cloud SDK for Node.JS 提供了一个强大的库,使您能够在 Node.JS 中以编程方式提取 PDF 文本,而无需处理底层解析逻辑。在本指南中,您将学习如何使用完整的代码示例、cURL REST 替代方案以及必要的设置步骤,在 Node.JS 中提取 PDF 文本,涵盖普通 PDF 和加密 PDF。
在 Node.JS 中提取 PDF 文本 - 完整代码示例
以下示例演示如何使用 GroupDocs.Parser Cloud SDK 在 Node.JS 中从 PDF 提取文本。它包括初始化、请求构建、执行以及将结果保存到本地文件。
const GroupDocsParserCloud = require("@groupdocs/parser-cloud");
const fs = require("fs");
(async () => {
// Initialize configuration with your credentials
const config = new GroupDocsParserCloud.Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
// Create Parser API instance
const parserApi = new GroupDocsParserCloud.ParserApi(config);
// Build request to extract text from a PDF file stored in cloud storage
const request = new GroupDocsParserCloud.ExtractTextRequest({
fileInfo: new GroupDocsParserCloud.FileInfo({
filePath: "input.pdf" // path to the PDF in GroupDocs cloud storage
})
});
try {
// Execute the request
const result = await parserApi.extractText(request);
// result.text contains the extracted plain text
console.log("Extracted Text:\n", result.text);
// Save extracted text to a local file
fs.writeFileSync("extracted.txt", result.text, "utf8");
console.log("Text saved to extracted.txt");
} catch (error) {
console.error("Error extracting text:", error);
}
})();
注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新所有文件路径和配置值以匹配实际环境,验证已正确安装所有必需的依赖项,并在开发环境中进行彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 cURL 和 REST API 检索 PDF 文本
如果您更喜欢语言无关的方法,也可以使用调用 GroupDocs.Parser Cloud REST API 的 cURL 命令实现相同的结果。下面的步骤展示了如何进行身份验证、上传 PDF、提取文本并下载结果。
# 1. Get an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
# Response contains "access_token"
# 2. Upload the PDF to cloud storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @input.pdf
# 3. Extract text from the uploaded PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/parser/extractText" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fileInfo":{"filePath":"input.pdf"}}' \
-o result.json
# 4. Save the extracted text locally
jq -r '.text' result.json > extracted.txt
这些命令执行相同的 从 PDF 中提取文本(Node.JS) 操作,但通过云 API,使其能够轻松集成到任何平台。有关更多详细信息,请参阅 官方 API 参考。
在 Node.JS 中拆解 PDF 文本提取
了解代码的每个部分有助于您将其适应更复杂的场景,例如处理扫描的或加密的 PDF。
- 配置初始化 -
const config = new GroupDocsParserCloud.Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
这将创建一个保存您身份验证凭据的配置对象。该类在API 参考中有文档说明。
- Parser API 实例 -
const parserApi = new GroupDocsParserCloud.ParserApi(config);
ParserApi 类提供所有解析操作的方法,包括 extractText。
- 构建 ExtractTextRequest -
const request = new GroupDocsParserCloud.ExtractTextRequest({
fileInfo: new GroupDocsParserCloud.FileInfo({
filePath: "input.pdf"
})
});
ExtractTextRequest 告诉服务要处理哪个文件。您还可以在此为扫描的 PDF 设置 OCR 选项。
- 执行请求 -
const result = await parserApi.extractText(request);
extractText 方法将请求发送到云端,并返回包含纯文本的响应对象。
- 处理结果 -
console.log("Extracted Text:\n", result.text);
fs.writeFileSync("extracted.txt", result.text, "utf8");
result.text 属性保存提取的内容,您可以将其记录、存储或进一步处理。
安装和配置 GroupDocs.Parser Cloud SDK for Node.JS
在运行代码之前,请先安装 SDK 并设置您的环境。
npm install groupdocs-parser-cloud
Prerequisites: Node.js 14 或更高版本,活跃的 GroupDocs Cloud 账户,以及客户端凭据(客户端 ID 和客户端密钥)。从官方下载页面下载最新包。安装后,创建一个 config.json(或使用环境变量)来安全地存储您的凭据。
结论
在 Node.JS 中提取 PDF 文本变得简单,只需使用 GroupDocs.Parser Cloud SDK for Node.JS。该 SDK 抽象了 PDF 解析的复杂性,支持对扫描的 PDF 进行 OCR,并且开箱即支持加密文档。请记得为生产环境获取有效许可证;您可以购买订阅或请求 临时许可证 以评估该库。通过代码示例、cURL 替代方案和安装步骤的说明,您即可将 PDF 文本提取集成到文档工作流中,释放强大的搜索和分析功能。
FAQs
如何在 Node.JS 中使用 GroupDocs.Parser 从 PDF 中提取文本?
使用ParserApi的extractText方法,如完整代码示例所示。SDK 会自动返回纯文本,您还可以为扫描的 PDF 启用 OCR。我可以在 Node.JS 中从扫描的 PDF 中提取文本吗?
可以。 在ExtractTextRequest中设置 OCR 选项,以便服务能够识别基于图像的页面上的文本。如果我的 PDF 受密码保护怎么办?
在FileInfo对象中包含密码 (password: "yourPassword")。SDK 将在提取文本之前解密文件。有没有办法在不编写 Node.JS 代码的情况下调用该服务?
当然可以。 “Retrieve PDF Text Using cURL and the REST API” 部分中的 cURL 命令展示了通过 REST API 的语言无关方法。
