一款OCR神器,5.6KStar,支援20多種文件格式,一鍵轉換成markdown

👉 這是一個或許對你有用的社群
🐱 一對一交流/面試小冊/簡歷最佳化/求職解惑,歡迎加入芋道快速開發平臺知識星球。下面是星球提供的部分資料:
👉這是一個或許對你有用的開源專案
國產 Star 破 10w+ 的開源專案,前端包括管理後臺 + 微信小程式,後端支援單體和微服務架構。
功能涵蓋 RBAC 許可權、SaaS 多租戶、資料許可權、商城、支付、工作流、大屏報表、微信公眾號、ERPCRMAI 大模型等等功能:
  • Boot 多模組架構:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 微服務架構:https://gitee.com/zhijiantianya/yudao-cloud
  • 影片教程:https://doc.iocoder.cn
【國內首批】支援 JDK 17/21 + SpringBoot 3.3、JDK 8/11 + Spring Boot 2.7 雙版本 

不知道各位小夥伴平時工作中有沒有一些將別的格式的文件轉為 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
基於 Spring Boot + MyBatis Plus + Vue & Element 實現的後臺管理系統 + 使用者小程式,支援 RBAC 動態許可權、多租戶、資料許可權、工作流、三方登入、支付、簡訊、商城等功能
  • 專案地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 影片教程:https://doc.iocoder.cn/video/

二 支援的文件格式

那麼這個開源工具到底都支援哪些不同格式的文件呢?
我們來看下官方給的這個支援的文件列表:
["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]
可以看到,主流的文件格式都是支援的。
基於 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的後臺管理系統 + 使用者小程式,支援 RBAC 動態許可權、多租戶、資料許可權、工作流、三方登入、支付、簡訊、商城等功能
  • 專案地址:https://github.com/YunaiV/yudao-cloud
  • 影片教程:https://doc.iocoder.cn/video/

三 實踐

最後我們再來看下這個工具該如何使用。
首先來安裝:
npm install zerox
Zerox 使用 graphicsmagick 和 ghostscript 進行 PDF 到影像的轉換。這些工具應會自動下載,但有時需要手動安裝。
手動安裝命令如下:
sudo apt-get updatesudo 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 官方文件,這裡就不囉嗦了。

歡迎加入我的知識星球,全面提升技術能力。
👉 加入方式,長按”或“掃描”下方二維碼噢
星球的內容包括:專案實戰、面試招聘、原始碼解析、學習路線。

文章有幫助的話,在看,轉發吧。
謝謝支援喲 (*^__^*)

相關文章