18.9K star!PDF到Markdown转换专家,快速、精准、多语言支持!

文摘   2025-01-02 21:01   江西  

* 戳上方蓝字“开源先锋”关注我




推荐阅读:

《2.9K star!又来一款网络问题分析利器!


《5.6K star!再见了DocSend,这款开源项目更不错!


《9.1K star!国外大神1:1复刻Win11系统,开源牛逼!》


《14.5K star!一款开源的工作流编排调度项目,无限可扩展!!》


《52K+ star!解放双手,工作流自动化神器!》


《8.4K star!终端文件管理神器,太优雅了!》



大家好,我是开源君!

在我们日常的工作和学习中,PDF文件随处可见。然而,PDF文件的编辑和内容提取却不那么方便。很多时候,我们希望把PDF中的内容提取出来,转成Markdown格式,以便于编辑和发布。但这个过程通常很麻烦,需要手动复制粘贴,还要重新调整格式,简直是浪费时间和生命。

今天开源君介绍的这个项目就是为了解决这个问题- Marker,可以让PDF转Markdown变得简单高效。

项目简介

marker是一个基于深度学习模型的工具,能够快速且准确地将PDF文档转换成Markdown格式,不仅能保留PDF中的文本、图片和表格,还能尽量保持原有的排版结构。支持多种文档类型,尤其对书籍和科学论文进行了优化,并且支持多种语言。

Marker的转换流程:

  • 文本提取:首先,Marker使用OCR技术(如果需要)来提取PDF中的文本。这可能涉及到启发式方法或使用如Surya和Tesseract等OCR工具。
  • 页面布局检测:Marker通过Surya等工具检测页面布局,确定阅读顺序,这对于保持文档结构至关重要。
  • 文本块清理与格式化:对于每个文本块,Marker使用启发式方法和Texify等工具进行清理和格式化,以确保文本的准确性和可读性。
  • 块组合与后处理:最后,Marker将所有文本块组合起来,并使用后处理工具(如pdf_postprocessor)进行最终的文本整理,以提高输出质量。
  • 模型的智能使用:Marker只在必要时使用深度学习模型,这有助于提高转换速度和准确性。

marker的出现,为那些需要频繁处理PDF和Markdown的开发者、写作者和研究人员提供了极大的便利。

下图是 marker 和 nougat 的对比测试结果

目前在Github上面收获了18.9K star!

性能特色

  • 广泛的文档支持:无论是书籍、论文还是其他类型的文档,marker都能处理得游刃有余。
  • 多语言支持:全球用户都能使用,真正的国际化工具。
  • 自动去除干扰元素:自动删除页眉、页脚和其他非内容元素,让转换结果更加纯净。
  • 表格和代码块格式化:保持原有排版,转换后的Markdown文档看起来依旧美观。
  • 图像提取:PDF中的图像也能一并提取并保存,不会丢失任何信息。
  • 方程式转换:大多数方程式可以转换为LaTeX格式,这对于科学论文来说尤其重要。

快速使用

使用marker非常简单,首先你需要安装Python 3.9+和PyTorch。然后通过以下命令安装marker

pip install marker-pdf

接下来,你可以通过以下命令快速转换单个PDF文件:

marker_single /path/to/file.pdf /path/to/output/folder --batch_multiplier 2 --max_pages 10 --langs English

如果你想转换多个文件,可以使用:

marker /path/to/input/folder /path/to/output/folder --workers 10 --max 10 --metadata_file /path/to/metadata.json --min_length 10000

项目体验展示

marker的转换效果如何呢?官方提供了部分例子,展示其对生产可用的复杂 PDF 转为 Markdown 的示例,如下图

可以看到,marker在对大段文字,公式,表格上面的处理相比以往的工具来说,还是进步了不少。

尽管Marker在转换PDF到Markdown方面表现出色,但它也有一些局限性:

  • 方程式转换:Marker可能无法将100%的方程式转换为LaTeX格式,因为需要先检测再转换,这个过程可能会遇到识别上的挑战。
  • 表格格式化:表格的格式化可能不会总是100%正确,有时文本可能会被放置在错误的列中。
  • 空白和缩进:在转换过程中,原始文档的空白和缩进可能不会被完全保留。
  • 行/跨度合并:不是所有的行或跨度都能被正确合并,这可能会影响Markdown文档的布局。
  • OCR限制:对于需要大量OCR处理的PDF文档,Marker可能不是最佳选择,因为它主要优化了速度,并且有限的OCR被用于修正错误。
  • 特定格式的PDF:对于某些特定格式的PDF文档,如那些包含大量图像或复杂版式的文档,Marker可能无法完美转换。

总的来说,Marker是一个非常实用的开源工具,解决了我们在PDF转Markdown过程中的很多痛点。它不仅高效快速,而且操作简单,格式保持得也很好。感兴趣的可以去试试。

更多细节功能,感兴趣的可以到项目地址查看:

项目地址:
https://github.com/VikParuchuri/marker

开源先锋
分享Github上最有趣的开源项目
 最新文章