网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

PDF Text Extractor技能使用说明

2026-03-26 新闻来源:网淘吧 围观:58
电脑广告
手机广告

PDF-文本提取器 - 从PDF文件中提取文本

Vernox实用技能 - 非常适合文档数字化。

概述

PDF-文本提取器是一个零依赖的工具,用于从PDF文件中提取文本内容。支持嵌入式文本提取(针对基于文本的PDF)和OCR(针对扫描文档)。

功能

✅ 文本提取

  • 无需外部工具即可从PDF中提取文本
  • 支持基于文本和扫描的PDF
  • 保留文档结构和格式
  • 快速提取(基于文本的PDF仅需毫秒)

✅ OCR支持

  • 使用Tesseract.js处理扫描文档
  • 支持多种语言(英语、西班牙语、法语、德语)
  • 可配置的OCR质量/速度
  • 在可能的情况下回退到文本提取

✅ 批量处理

  • 一次性处理多个PDF
  • 为文档工作流提供批量提取
  • 对大文件进行进度跟踪
  • 错误处理和重试逻辑

✅ 输出选项

  • 纯文本输出
  • 包含元数据的JSON输出
  • Markdown转换
  • HTML输出(保留链接)

✅ 实用功能

  • 逐页提取
  • 字符/字数统计
  • 语言检测
  • 元数据提取(作者、标题、创建日期)

安装

clawhub install pdf-text-extractor

快速开始

从PDF提取文本

const result = await extractText({
  pdfPath: './document.pdf',
  options: {
    outputFormat: 'text',
    ocr: true,
    language: 'eng'
  }
});

console.log(result.text);
console.log(`Pages: ${result.pages}`);
console.log(`Words: ${result.wordCount}`);

批量提取多个PDF

const results = await extractBatch({
  pdfFiles: [
    './document1.pdf',
    './document2.pdf',
    './document3.pdf'
  ],
  options: {
    outputFormat: 'json',
    ocr: true
  }
});

console.log(`Extracted ${results.length} PDFs`);

使用OCR提取

const result = await extractText({
  pdfPath: './scanned-document.pdf',
  options: {
    ocr: true,
    language: 'eng',
    ocrQuality: 'high'
  }
});

// 将使用OCR(检测到扫描文档)

工具函数

extractText

从单个PDF文件提取文本内容。

参数:

  • pdfPath(字符串,必需):PDF文件路径
  • options(对象,可选):提取选项
    • outputFormat(字符串):'text' | 'json' | 'markdown' | 'html'
    • ocr(布尔值):为扫描文档启用OCR
    • language(字符串):OCR语言代码('eng'、'spa'、'fra'、'deu')
    • preserveFormatting(布尔值):保留标题/结构
    • minConfidence(数字):OCR最低置信度得分(0-100)

返回:

  • text(字符串):提取的文本内容
  • pages(数字):处理的页数
  • wordCount(数字):总字数
  • charCount(数字):总字符数
  • language(字符串):检测到的语言
  • metadata(对象):PDF元数据(标题、作者、创建日期)
  • method(字符串):'text' 或 'ocr'(提取方法)

extractBatch

批量提取多个PDF文件的文本。

参数:

  • pdfFiles(数组,必需):PDF文件路径数组
  • options(对象,可选):与 extractText 相同

返回:

  • 结果(数组):提取结果数组
  • 总页数(数字):所有 PDF 的总页数
  • 成功计数(数字):成功提取的数量
  • 失败计数(数字):提取失败的数量
  • 错误(数组):失败的错误详情

统计字数

统计提取文本中的字数。

参数:

  • 文本(字符串,必需):要统计的文本
  • 选项(对象,可选):
    • 最小单词长度(数字):每个单词的最小字符数(默认:3)
    • 排除数字(布尔值):不将数字计为单词
    • 按页统计(布尔值):返回每页的字数统计

Returns:

  • 字数统计(数字):总字数
  • 字符数(数字):总字符数
  • 页面字数统计(数组):每页字数
  • 平均每页字数(数字):平均每页字数

语言检测

检测提取文本的语言。

参数:

  • 文本(字符串,必需):要分析的文本
  • 最低置信度(数字):检测所需的最低置信度

返回:

  • 语言(字符串):检测到的语言代码
  • 语言名称(字符串):完整的语言名称
  • 置信度(数字):置信度分数(0-100)

使用场景

文档数字化

  • 将纸质文档转换为数字文本
  • 处理发票和收据
  • 将合同与协议数字化
  • 物理文档归档

内容分析

  • 提取文本供分析工具使用
  • 为大语言模型处理准备内容
  • 清理扫描文档
  • 解析基于PDF的报告

数据提取

  • 从PDF报告中提取数据
  • 从PDF中解析表格
  • 提取结构化数据
  • 自动化文档工作流

文本处理

  • 为翻译准备内容
  • 清理OCR输出
  • 提取特定章节
  • 在PDF内容内搜索

性能

基于文本的PDF

  • 速度:10页PDF约需100毫秒
  • 准确率:100%(精确文本)
  • 内存:典型文档约10MB

OCR处理

  • 速度:每页约1-3秒(高质量)
  • 准确度:85-95%(取决于扫描质量)
  • 内存使用:OCR处理期间峰值约50-100MB

技术细节

PDF解析

  • 使用原生PDF.js库
  • 直接提取文本层(无需OCR)
  • 保留文档结构
  • 处理受密码保护的PDF

OCR引擎

  • 底层使用Tesseract.js
  • 支持100多种语言
  • 可调节质量/速度权衡
  • 提供准确度置信度评分

依赖项

  • 零外部依赖
  • 仅使用Node.js内置模块
  • 技能包内包含PDF.js
  • 捆绑Tesseract.js

错误处理

无效PDF

  • 清晰错误信息
  • 建议修复方案(检查文件格式)
  • 跳转到批次中的下一个文件

OCR 失败

  • 报告置信度分数
  • 建议以更高质量重新扫描
  • 回退到基本提取

内存问题

  • 针对大文件的流处理
  • 进度报告
  • 优雅降级

配置

编辑config.json

{
  "ocr": {
    "enabled": true,
    "defaultLanguage": "eng",
    "quality": "medium",
    "languages": ["eng", "spa", "fra", "deu"]
  },
  "output": {
    "defaultFormat": "text",
    "preserveFormatting": true,
    "includeMetadata": true
  },
  "batch": {
    "maxConcurrent": 3,
    "timeoutSeconds": 30
  }
}

示例

从发票中提取

const invoice = await extractText('./invoice.pdf');
console.log(invoice.text);
// "发票 #12345 日期:2026-02-04..."

从扫描合同中提取

const contract = await extractText('./scanned-contract.pdf', {
  ocr: true,
  language: 'eng',
  ocrQuality: 'high'
});
console.log(contract.text);
// "协议 本合同由..."

批量处理文档

const docs = await extractBatch([
  './doc1.pdf',
  './doc2.pdf',
  './doc3.pdf',
  './doc4.pdf'
]);
console.log(`已处理 ${docs.successCount}/${docs.results.length} 个文档`);

故障排除

OCR 不工作

  • 检查 PDF 是否确实是扫描件(非基于文本)
  • 尝试不同的质量设置(低/中/高)
  • 确保语言与文档匹配
  • 检查扫描图像质量

提取结果为空

  • PDF可能仅为图像
  • OCR识别置信度过低失败
  • 尝试不同的语言设置

处理速度慢

  • 大型PDF耗时更长
  • 降低质量以提升速度
  • 分批处理

提示

最佳效果

  • 尽可能使用基于文本的PDF(速度更快,100%准确)
  • 用于OCR的高质量扫描(300 DPI以上)
  • 扫描前清洁背景
  • 使用正确的语言设置

性能优化

  • 批量处理多个文件
  • 对基于文本的PDF禁用OCR
  • 在可接受的情况下降低OCR质量以提升速度

路线图

  • 支持PDF/A
  • 高级OCR预处理
  • 从OCR中提取表格
  • 手写文字OCR
  • PDF表单字段提取
  • 批量语言检测
  • 置信度评分可视化

许可证

MIT


从PDF中提取文本。快速、准确、零依赖。🔮

天猫隐藏优惠券

网淘吧

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第290545名访客 今日有246篇新文章/评论