
https://github.com/firecrawl/firecrawl
// anydoc 8.7khttps://github.com/firecrawl/anydoc
// pdf-inspector 13khttps://github.com/firecrawl/pdf-inspector
pdf-inspector
名字叫“PDF-检查器”,名字不是Convert或者OCR什么的,主打PDF的文件探测:分类、文本提取。

不是所有PDF都是复杂布局的,还有一半是纯文本的可以基于它快速提取、分片等处理。 它的分类器把PDF分为TextBased、Scanned、ImageBased、Mixed四类,并给出置信度评分,这可以方便我们对文档分流处理。
可以方便的接入Node.js、Python、Rust类应用,或者自行实现自己语言的绑定。Node.js示例:
npm install @firecrawl/pdf-inspectorimport { readFileSync } from 'fs';import { processPdf, classifyPdf } from '@firecrawl/pdf-inspector';const result = processPdf(readFileSync('document.pdf'));console.log(result.pdfType); // "TextBased", "Scanned", "ImageBased", "Mixed"console.log(result.markdown); // Markdown string or null
anydoc
#anydoc 主要处理Word(.doc、.docx、.docm)、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 等十四种输入格式。不支持OCR。
它优先使用文件内容而不是文件扩展名来识别文件类型,CSV没有格式签名,则主要使用扩展名。识别后通过格式解析器转为Document模型,然后转为Markdown。
// 非PDF处理流程文档字节-> 内容签名识别-> 对应格式解析器-> 共享 Document 模型-> 统一 GFM 序列化器-> Markdown
对,它也能处理PDF,是通过上面的pdf-inspector直接转成Markdown文件。
npx @firecrawl/anydoc report.docxnpx @firecrawl/anydoc slides.pptx -o slides.mdnpx @firecrawl/anydoc - --format csv < data.csv
import { toMarkdown, toMarkdownBytes } from "@firecrawl/anydoc";const report = await toMarkdown("report.docx");const fromBytes = await toMarkdownBytes(bytes);const csv = await toMarkdownBytes(csvBytes, "csv");
适合场景
https://github.com/firecrawl/anydoc/blob/main/skills/convert-documents-to-markdown/SKILL.md感谢阅读!
你的关注、点赞、转发、收藏是我持续更新的动力!
夜雨聆风