Ubuntu下部署PDF转MarkDown的服务docling
一、部署安装:
uv venv && source .venv/bin/activate
2、按照docling
uv pip install docling
3、配置模型镜像站(第一次运行时需要)
export HF_ENDPOINT=https://hf-mirror.com
二、使用方法:
A、使用命令行转换:
A、使用命令行转换:
docling https://arxiv.org/pdf/2206.01062
B、使用Python代码转换(test.py):
from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869" # file path or URL
converter = DocumentConverter()
doc = converter.convert(source).document
print(doc.export_to_markdown()) # output: "### Docling Technical Report[...]"
C、使用webui页面转换(app.py):
import gradio as gr
from docling.document_converter import DocumentConverter
import tempfile
import os
def pdf_to_markdown(pdf_file):
"""
接收上传的 PDF 文件,将其转换为 Markdown。
返回 Markdown 文本和可下载文件路径。
"""
if pdf_file is None:
return "请上传一个 PDF 文件。", None
try:
converter = DocumentConverter()
result = converter.convert(pdf_file.name)
doc = result.document
md_text = doc.export_to_markdown()
# 将 Markdown 保存到临时文件
temp_md = tempfile.NamedTemporaryFile(delete=False, suffix=".md")
temp_md.write(md_text.encode("utf-8"))
temp_md.close() # 关闭文件,Gradio 才能读取
return md_text, temp_md.name
except Exception as e:
return f"❌ 转换出错:{e}", None
# Gradio 界面
with gr.Blocks(title="PDF → Markdown Converter (Docling)") as demo:
gr.Markdown("## 📄 PDF → Markdown 转换服务\n上传 PDF 文件,自动生成 Markdown。")
pdf_input = gr.File(label="上传 PDF", file_types=[".pdf"])
convert_btn = gr.Button("开始转换 🚀")
md_output = gr.Textbox(label="Markdown 结果预览", lines=20)
md_file = gr.File(label="下载 Markdown 文件")
convert_btn.click(fn=pdf_to_markdown, inputs=pdf_input, outputs=[md_output, md_file])
# 启动局域网可访问服务
if __name__ == "__main__":
demo.launch(server_name="0.0.0.0", server_port=7860, share=False)
评论
发表评论