PDF 转换为 Markdown 的 5 大工具
PPTX、DOCX 或 PDF 等不同格式到Markdown 的[1]转换器是内容作者、开发人员和文档专家的必备工具。在将任何类型的文件格式转换为 Markdown 时,拥有合适的工具至关重要。
众多库和框架让这一转换过程几乎轻松高效。从命令行实用程序到用户友好的 Web 应用程序,这些工具可以处理从 Word 文档到 HTML 页面的所有内容。我们整理了一些最佳工具列表,它们将改变你的工作流程,并节省你数小时的手动格式化时间。
1. Pandoc
Pandoc[2]凭借其对 Markdown 语法扩展的理解,堪称文档转换工具中的“瑞士军刀”。这款开源命令行转换器支持将数十种标记文件格式(包括 Word、HTML、LaTeX、PDF)转换为 Markdown。
它自带一个独立的命令行应用程序和一个 Haskell 库。由于该库针对每种输入类型都有不同的模块,因此安装新的输入或输出格式只需安装一个新模块即可。
Pandoc 的主要特点:
Pandoc 可以理解许多有用的 Markdown 格式,但以下是它的一些突出特点:
它支持超过 40 种输入和输出文件类型。 它支持文档格式和结构。 它不仅可以处理文本数据,还可以处理表格、脚注、参考书目和数学方程式。 Pandoc 模板和过滤器允许定制。 它是完全免费的并且积极维护。
Pandoc 实践:
Pandoc 可以安装在我们的任何系统上并用于转换不同的文件格式,其过程如下:
从安装 Pandoc 开始:
# For Ubuntu
sudo apt-get install pandoc
# For macOS
brew install pandoc
# For Windows (using Chocolatey)
choco install pandoc
运行此命令将 HTML 转换为 Markdown:
Pandoc -f html -t markdown -o output.md input.html
要将 Word 文档转换为 Markdown:
Pandoc -f docx -t markdown -o output.md input.docx
要将 PDF 转换为 Markdown:
Pandoc -f pdf -t markdown -o output.md input.pdf
它可以使用以下命令从网络读取:
Pandoc -f html -t markdown https://www.fsf.org
Pandoc 的用例:
当你需要转换复杂文档并保留其结构时,它非常有用 由学术作家转换研究论文的格式 适用于技术作家撰写的多种格式的文档项目。
2. MarkItDown
MarkItDown[3]是微软开发的一款轻量级 Python 实用程序。它提供了一个简单的 Web 服务,用于快速转换,以及一个MCP 服务器,用于与 LLM 应用程序(例如 Claude 桌面)集成。你只需粘贴 HTML 或上传文档,它就会以最少的麻烦返回干净的 Markdown 文件。
MarkItDown 的主要特点:
自推出以来,该图书馆凭借以下特点而人气飙升:
它具有较高的令牌效率,这在处理大型文档时很有帮助。 提供用户友好的网络(在线)界面。 它可以批量处理文档。 你可以使用预览功能来检查转换的质量。 它提供基本使用的免费套餐和高级选项。它还可以轻松地免费将 PDF 转换为 Markdown。
MarkItDown 实践:
使用 MarkItDown 是一个简单直接的过程,你需要:
导航到 MarkItDown 网络界面并将 HTML 或富文本粘贴到输入字段中,或者直接上传文件。
点击“转换为 Markdown”,然后下载文件。
你可以使用以下命令安装 MarkItDown:
pip install markitdown[all]
或者,你也可以直接从源安装它:
git clone [email protected]:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'
MarkItDown 的用例:
对于内容创作者来说,当收到作者或客户发来的格式化内容时,他们可以快速将其转换为Markdown格式。 将不同的公司文件轻松转换为不同的 Markdown 格式。
3. Unstructured.io
Unstructured.io[4]提供强大的工具,用于从非结构化文档中提取原始内容并将其转换为可读格式。这个开源库擅长处理复杂文档并将其转换为结构化格式,包括 Markdown。
Unstructured.io 的主要特点:
该库专为本地数据处理而设计,可以使用以下功能直接进行转换:
它是一个转换器,可以将 PDF 转换为 Markdown、图像、电子邮件和各种文档类型。 它使用人工智能来理解文档结构以进行转换过程。 它保留表格、图表和其他复杂元素。 与其他框架相比,它提供了更准确的表格和图像提取。
Unstructured.io 实践:
要开始使用 Unstructured.io,请按照以下步骤操作:
使用以下方式安装 Unstructured.io:
# 创建一个python虚拟环境
python -m venv unstructured-env
source unstructured-env/bin/activate # On Windows: unstructured-env\Scripts\activate
# 安装 unstructured
pip install unstructured
# Install document-specific dependencies
pip install "unstructured[pdf,docx]"
你可以使用以下命令将其与 Python 集成:
from unstructured.partition.auto import partition
from unstructured.partition.md import partition_md
elements = partition(“document.pdf”)
Markdown = partition_md(elements)
with open(“output.md”, “w”) as f:
f.write(markdown)
Unstructured.io 的用例:
数据科学家和开发人员正在使用文档处理转换器将各种文档格式转换为结构化数据或将 PDF 转换为 Markdown。 用于转换包含表格、表单或其他复杂布局的 PDF。
4. Dillinger
Dillinger[5]是一款将 PDF 转换为 Markdown 的工具,它内置浏览器 Markdown 编辑器,支持导入各种格式,并提供两个面板。这款在线工具在右侧提供实时预览,左侧则显示 Markdown 文件,非常适合编辑和转换。
Dillinger 的主要特点:
它是一个支持云的 Markdown 编辑器,具有一些突出的功能:
它提供了 Markdown 渲染的实时版本。 可以从 Dropbox、Google Drive、OneDrive 和 GitHub 导入任何类型的文件。 Markdown不仅可以导出为HTML,还可以导出为PDF等格式。 免费将 PDF 转换为 Markdown。 你可以将文档同步到云存储服务。 它有一个完全免费的套餐,无需帐户或注册。
Dillinger 实践:
使用以下步骤访问 Dillinger 来转换你的文件:
访问Dillinger[6]网站。
单击“导入自”并选择你的来源,或直接在平台上创建文件。 如果需要,你可以选择编辑生成的 Markdown。
以任何文件格式导出或从左侧预览复制最终的 Markdown。
Dillinger 的用例:
需要在发布前快速转换和编辑文档或希望拥有将 PDF 转换为 Markdown 的工具的作家可以使用它。 协作团队需要将来自源的文档转换为一致的 Markdown 格式。
5. Marker
Marker[7] Focus 是一款转换器,可以将 Google Docs 或其他文档转换为 Markdown、PDF、JSON 和 HTML,同时准确保留格式和文档结构。它提供了一个浏览器扩展程序,可将 Markdown 导出功能直接添加到 Google Docs。
Marker的主要特点:
Marker 可以快速准确地将文件转换为 Markdown 文件。它的最佳功能包括:
它可以直接集成到 Google Docs。 保留标题、列表、表格、内联数学、链接和代码块。 具有一键导出到剪贴板或下载的功能。 通过各种选项(链接或下载)处理图像的提取并将其保存到某个位置。 免费将 PDF 转换为 Markdown。 它是开源的,每个人都可以免费使用。 可轻松在 GPU、CPU 或 MPS 上工作。
Marker 实践:
Marker 是深度学习模型的管道,访问方式如下:
你可以将 Marker 作为扩展程序安装在浏览器中,也可以使用以下命令将其安装在你的系统上。但是,如果你使用的不是 Mac 或 GPU 版本,则可能需要先安装 Torch 的 CPU 版本。
pip install marker-pdf
你还可以使用 Streamlit 应用程序尝试一些 Marker 的基本版本。
pip install streamlit
marker_gui
对于扩展:
打开你的 Google 文档。 单击浏览器工具栏中的标记图标。 选择你喜欢的导出选项。 点击“导出到Markdown ”。
对于使用 Python 的转换:
from marker.converters.pdf import PdfConverter
from marker.models import create_model_dict
from marker.output import text_from_rendered
converter = PdfConverter(
artifact_dict=create_model_dict(),
)
rendered = converter("FILEPATH")
text, _, images = text_from_rendered(rendered)
Marker的用例:
在 Google Docs 中协作但将内容发布到基于 Markdown 的平台或静态站点生成器的团队。 弥合协作编辑和技术出版工作流程之间的差距。
Markdown转换工具比较
写在最后
将不同格式的文件转换为 Markdown 并不难。本文讨论的框架几乎可以满足所有转换需求,无论你处理的是电子邮件、HTML 文件、Word 文档还是其他格式。选择合适的转换工具,你可以简化整个工作流程,专注于创建一流的 Markdown 文件格式,而无需担心格式问题。
Markdown 的: https://www.analyticsvidhya.com/blog/2023/07/markdown-cheat-sheet/
[2]Pandoc: https://pandoc.org/
[3]MarkItDown: https://github.com/microsoft/markitdown
[4]Unstructured.io: https://unstructured.io/
[5]Dillinger: https://dillinger.io/
[6]Dillinger: https://dillinger.io/
[7]Marker: https://fabiocolacio.xyz/Marker/
🏴☠️宝藏级🏴☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉Python|MySQL|数据分析|数据可视化|机器学习与数据挖掘|爬虫等,从入门到进阶!
长按👇关注- 数据STUDIO -设为星标,干货速递