科学工具
科学工具让世界更美好
让世界更美好

Zerox OCR 开源 AI 文档工具,将 PDF、DOCX、图片等格式转换为 MarkdownZerox OCR 开源 AI 文档工具,将 PDF、DOCX、图片等格式转换为 Markdown

Zerox OCR 是一款开源的 AI 文档智能工具,能将 PDF、DOCX、图片等格式的文件转换为 Markdown。Zerox OCR利用 AI 视觉模型(例如 GPT-4o-mini)实现 OCR 识别,先将文档拆分成一系列图片,再逐一传递给模型生成 Markdown,最后整合输出为结构化数据,能识别复杂的文档布局、表格和图表等内容。

使用方法

Zerox提供了Node.js和Python两种包,你可以选择使用你喜欢的版本。

Node.js

如果你选择使用Node.js,使用以下代码来使用Zerox:

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,
});

Python

如果你选择Python,使用以下代码来使用Zerox:

from pyzerox import zerox
import os
import json
import asyncio

async def main():
    file_path = "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf"
    result = await zerox(file_path=file_path, model="gpt-4o-mini")
    return result

result = asyncio.run(main())
print(result)

Zerox支持的文件类型

Zerox支持多种文件类型,包括PDF、DOC、DOCX、ODT、RTF、TXT、HTML、XML、WPS、WPD、XLS、XLSX、ODS、CSV、TSV、PPT、ODP等,对于非图像和非PDF文件,Zerox会先将其转换为PDF,然后再转换为图像。

安装和配置

使用Zerox需要安装一些依赖项。如果是Node.js版本,需要先安装graphicsmagick和ghostscript。如果Python版本,需要先安装poppler。

示例

Zerox输出一个包含Markdown内容的对象,包含一些元数据。例如:

{
    "completionTime": 10038,
    "fileName": "invoice_36258",
    "inputTokens": 25543,
    "outputTokens": 210,
    "pages": [
        {
            "content": "# 发票 # 1234\n**日期2025年4月14日\n**运输方式:** 顺丰快递\n**应付余额:** ¥50.10\n## 收件人:\n无名\n98103, 北京市,\n朝阳区立水桥\n## 发货人:\n川普\n98103, 海湖庄园,\n佛罗里达州, 美国\n\n| 商品 | 数量 | 单价 | 总额 |\n| --- | --- | --- | --- |\n| 英伟达H100 | 10000 | $250 | ¥2500000 |",
            "page": 1
        }
    ]
}