⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 江南一点雨 「江南一点雨」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

不知道各位小伙伴平时工作中有没有一些将别的格式的文档转为 Markdown 的需求?

最近发现了一个好玩的开源项目,能够帮我们把二十多种不同格式的文章利用 AI 转为 markdown,非常好用。

一 Zerox OCR

Zerox OCR 是一个基于 GPT 技术的 OCR 工具,它能够将 PDF、DOCX 等文件转换为 Markdown 格式。

相比于传统的 OCR 工具,Zerox OCR 有很多不一样的地方,具体体现在:

  1. 零配置:Zerox OCR 的一个显著特点是它的零配置特性,用户只需提供文件和 API token,即可轻松实现文本提取,省去了繁琐的参数设置。
  2. 高精度识别:Zerox OCR 使用 GPT-4o-mini 模型进行文本识别,能够处理完全陌生的 PDF、图片等文档类型,不需要事先训练数据,即可提供高精度的 OCR 结果。
  3. Markdown 输出格式:在 OCR 转换过程中,Zerox 将每个识别的页面转化为简洁的 Markdown 格式,方便对文本进行后期处理和整理。
  4. 支持复杂文档:Zerox 不仅可以处理简单的文本,还能够处理包含表格、图表等复杂布局的文件。无论是扫描版 PDF 还是其他格式,Zerox 都可以对它们进行 OCR 识别,生成准确的文本内容。
  5. 本地运行与 API 支持:Zerox 支持本地运行,无需担心隐私泄露问题。此外,它还提供了 API 接口,方便集成到应用中,提升业务流程的自动化和效率。
  6. 开源项目:Zerox 是一个开源项目,使用 MIT 许可证,用户可以免费使用其核心功能。

Zerox OCR 以其高效准确、易用性和广泛的应用前景,成为了文档处理和数据提取领域的一个重要工具。开发者和用户可以通过访问 Zerox 的 GitHub 页面来体验这款 OCR 神器,开启高效文本提取之旅。

GitHub 地址:https://github.com/getomni-ai/zerox

二 支持的文档格式

那么这个开源工具到底都支持哪些不同格式的文档呢?

我们来看下官方给的这个支持的文档列表:

[
"pdf", // Portable Document Format
"doc", // Microsoft Word 97-2003
"docx", // Microsoft Word 2007-2019
"odt", // OpenDocument Text
"ott", // OpenDocument Text Template
"rtf", // Rich Text Format
"txt", // Plain Text
"html", // HTML Document
"htm", // HTML Document (alternative extension)
"xml", // XML Document
"wps", // Microsoft Works Word Processor
"wpd", // WordPerfect Document
"xls", // Microsoft Excel 97-2003
"xlsx", // Microsoft Excel 2007-2019
"ods", // OpenDocument Spreadsheet
"ots", // OpenDocument Spreadsheet Template
"csv", // Comma-Separated Values
"tsv", // Tab-Separated Values
"ppt", // Microsoft PowerPoint 97-2003
"pptx", // Microsoft PowerPoint 2007-2019
"odp", // OpenDocument Presentation
"otp", // OpenDocument Presentation Template
]

可以看到,主流的文档格式都是支持的。

三 实践

最后我们再来看下这个工具该如何使用。

首先来安装:

npm install zerox

Zerox 使用 graphicsmagick 和 ghostscript 进行 PDF 到图像的转换。这些工具应会自动下载,但有时需要手动安装。

手动安装命令如下:

sudo apt-get update
sudo apt-get install -y graphicsmagick

装好之后就可以使用了,使用的时候可以使用一个在线的文件路径:

import { zerox } from "zerox";

const result = await zerox({
filePath: "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});

如果是本地文件则通过如下方式来解析:

import path from "path";
import { zerox } from "zerox";

const result = await zerox({
filePath: path.resolve(__dirname, "./cs101.pdf"),
openaiAPIKey: process.env.OPENAI_API_KEY,
});

最终解析结果类似下面这样:

{
completionTime: 10038,
fileName: 'invoice_36258',
inputTokens: 25543,
outputTokens: 210,
pages: [
{
content: '# INVOICE # 36258\n' +
'**Date:** Mar 06 2012 \n' +
'**Ship Mode:** First Class \n' +
'**Balance Due:** $50.10 \n' +
'## Bill To:\n' +
'Aaron Bergman \n' +
'98103, Seattle, \n' +
'Washington, United States \n' +
'## Ship To:\n' +
'Aaron Bergman \n' +
'98103, Seattle, \n' +
'Washington, United States \n' +
'\n' +
'| Item | Quantity | Rate | Amount |\n' +
'|--------------------------------------------|----------|--------|---------|\n' +
"| Global Push Button Manager's Chair, Indigo | 1 | $48.71 | $48.71 |\n" +
'| Chairs, Furniture, FUR-CH-4421 | | | |\n' +
'\n' +
'**Subtotal:** $48.71 \n' +
'**Discount (20%):** $9.74 \n' +
'**Shipping:** $11.13 \n' +
'**Total:** $50.10 \n' +
'---\n' +
'**Notes:** \n' +
'Thanks for your business! \n' +
'**Terms:** \n' +
'Order ID : CA-2012-AB10015140-40974 ',
page: 1,
contentLength: 747
}
]
}

这个用法是不是非常 Easy,如果小伙伴看过松哥的 vhr 或者 tienchin,对 Vue 的使用有基本的了解,那么上面这段代码可就太好明白了。

好啦,更多功能小伙伴们可以查看 Zerox 官方文档,这里就不啰嗦了。

文章目录
  1. 1. 一 Zerox OCR
  2. 2. 二 支持的文档格式
  3. 3. 三 实践