PDF 阅读器是一款功能强大的工具,它能安全、灵活地读取 PDF 文件,通过单个工具满足多种提取需求,并以结构化的 JSON 格式输出数据,便于集成到各类环境中。
使用 npm 安装该工具:
npm install @pdf-reader/core
示例代码如下:
import { PDFReader } from '@pdf-reader/core';
async function main() {
const reader = new PDFReader();
const text = await reader.extractText('path/to/your.pdf');
console.log(text);
}
main().catch(console.error);
read_pdf 工具即可实现多种提取需求(全文本、特定页面、元数据、页数统计)。npx 或 Docker 容器在 MCP 环境中无缝使用。pdfjs-dist 进行可靠的解析,并借助 Zod 实现输入验证。使用 npm 进行安装:
npm install @pdf-reader/core
import { PDFReader } from '@pdf-reader/core';
async function main() {
const reader = new PDFReader();
const text = await reader.extractText('path/to/your.pdf');
console.log(text);
}
main().catch(console.error);
// 在单次请求中处理多个 PDF 源文件(本地路径或 URL)
import { PDFReader } from '@pdf-reader/core';
async function main() {
const reader = new PDFReader();
const sources = ['path/to/local.pdf', 'https://example.com/remote.pdf'];
const results = await reader.processMultipleSources(sources);
console.log(results);
}
main().catch(console.error);
该服务器优先考虑安全性,通过限制上下文来实现文件访问的安全性。同时,其设计注重高效性和简洁性,便于与 AI 代理工作流程集成。它依赖于最少的依赖项,并使用可靠的 pdfjs-dist 库进行 PDF 解析。有关完整的 设计理念文档。
与其他解决方案相比:
pdftotext):通过 MCP 接口提供了一个安全、集成的界面,并生成结构化的输出,提高了可靠性和易用性。有关完整 对比文档。pdf.js 库来处理和解析 PDF 文件。欢迎社区贡献!请参考 贡献文档 了解如何参与开发。
有关详细信息,请参阅项目文档:
初步使用 Vitest 对示例 PDF 进行基准测试,结果显示该工具对各种操作的处理效率较高:
| 场景 | 操作数(每秒 hz) | 相对速度 |
|---|---|---|
| 处理未找到文件的情况 | ~12,933 | 最快 |
| 获取全文本内容 | ~5,575 | |
| 获取特定页面(第 1 页) | ~5,329 | |
| 获取指定页面(第 1 和 2 页) | ~5,242 | |
| 获取元数据和总页数 | ~4,912 | 最慢 |
(更高的 hz 值表示性能越好。实际结果可能因 PDF 文件的复杂性和环境而异。)
有关更多详细信息,请参阅 性能文档。
文档中未提及相关内容,暂不展示。
如需反馈或问题,请联系 维护团队。
感谢您使用 PDF 阅读器!