12.5Kstar!快速精准實現PDF轉Markdown,這個項目好強!

墨林一碼農 2024-06-16 18:36:43

墨林碼農專注分享開源項目, 精選開源社區技術幹貨,分享Github、Gitee上有趣、有價值的項目,一起學習,一起成長。

大家好,我是開源君!

在我們日常的工作和學習中,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上面收獲了12.5K 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

結束語

幾個簡單的字符,就能創造出歡樂,

幾個簡單的號碼,便能寫出奇迹。

一個鍵盤,就能暢遊世界,

一根網線,便能知曉天下。

創作不易,感謝大家的支持。後續也會分享更多的幹貨和技術資訊,您的閱讀就是對小編的支持,再次感謝各位老鐵!

0 阅读:2

墨林一碼農

簡介:感謝大家的關注