PDF 转 Markdown 开源项目调研
最近计划抽时间写一个文档相关的翻译类项目,调研了几个主流的开源 PDF 转 Markdown 项目,从最终的效果来看,MinerU 的 Magic-PDF 当之无愧是当前最佳的选择,缺点就是速度慢。 项目:zerox 代码:https://github.com/getomni-ai/zerox 介绍:一种非常简单的PDF文档解析方法 逻辑:使用 PyMuPDF 将 pdf 文件中的每一页转换为图片,并将图片给 LLM ,让其转换为 markdown 格式 使用的prompt: Convert the following PDF page to markdown. Return only the markdown with no explanation text. Do not exclude any content from the page. 优劣势 优点:在纯文字、表格等场景下,效果还不错 缺点 :在有配图的情况下,配图会被丢失掉,用<img>之类的占位表示图片 项目:gptpdf 代码:https://github.com/CosmosShadow/gptpdf 介绍:使用视觉大语言模型(如 GPT-4o)将 PDF 解析为 markdown。方法非常简单(只有293行代码),但几乎可以完美地解析排版、数学公式、表格、图片、图表等。每页平均价格:0.013 美元 逻辑: 用PyMuPDF识别中其中的线条(page.get_drawings())、图片(page.get_image_info())、文本区域 用一些策略做一些合并,最终得到一个只有表格和图片的区域 将这些区域截图后存储在本地 在原图上用红色框和序号标注好,送给GPT识别,最终的结果是个markdown格式 使用的prompt 使用markdown语法,将图片中识别到的文字转换为markdown格式输出。你必须做到: 1. 输出和使用识别到的图片的相同的语言,例如,识别到英语的字段,输出的内容必须是英语。 2. 不要解释和输出无关的文字,直接输出图片中的内容。例如,严禁输出 “以下是我根据图片内容生成的markdown文本:”这样的例子,而是应该直接输出markdown。 3. 内容不要包含在```markdown ```中、段落公式使用 $$ $$ 的形式、行内公式使用 $ $ 的形式、忽略掉长直线、忽略掉页码。 4....