自建文档处理工具:Docling,PDF/Word/ 图片一键转Markdown

前言

平时工作、学习、做资料整理的时候,我们总会和各类文档打交道:PDF 论文、扫描版合同、Word 报告、Excel 表格、PPT 讲义,还有截图、照片形式的图片文档。很多时候我们需要把这些文档里的内容提取出来,转成 Markdown 格式,方便放到笔记软件、知识库或者大模型里二次处理。

但市面上大多数在线文档转换工具都有明显短板:要么按次收费、有文件大小限制;上传的文件会经过第三方服务器,涉密资料、内部文档有信息泄露风险;遇到带复杂表格、多栏排版、扫描图片的文件,经常提取乱码、公式丢失、图片排版直接错乱,整理起来要耗费大量时间手动修改。

有没有办法拥有一套完全私有化的文档转换服务?Docling 就是非常合适的开源方案。它由 IBM 开源推出,支持 PDF、Word、Excel、PPT、图片等几乎所有常见文档类型,自带 OCR 识别能力,能够智能识别段落、标题、列表、复杂表格、图片注解,输出结构干净、排版规整的 Markdown 文本,最大程度保留原文版式。

你可以通过 Docker 一行命令,直接在 fnOS NAS 或者本地电脑快速部署 Docling。所有文档解析全程在本地设备完成,文件不会外流,不用担心隐私泄露。部署完成后,本地浏览器打开 WebUI,拖拽文件即可一键转换。如果需要外出远程使用,搭配 cpolar 内网穿透,不用公网 IP,在外网浏览器就能访问自建的文档转换平台,随时随地上传、解析各类文档。

接下来这份完整教程,从零讲解 Docling 在 fnOS 上的 Docker 部署步骤,包含端口配置、WebUI 访问排错、API 调用方法,以及 cpolar 外网远程访问的实操方案,零基础也能跟着搭建属于自己的私有化文档处理工具。

image-20260922155844363

2.安装前提条件

2.1ssh远程连接到飞牛

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:

在设置—>SSH中开启SSH服务:

463c5f2aa280d7887420494b8b8f852e

27abe7f94baeaebc1738b60b1ba78933

e16c7480a399e50f627439329422c5a7

2.2验证docker是否开启

使用命令:

docker -v 
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

bc2a0952beed8ca143a171bb000b2b23

3.安装Docling

docker一键部署

使用 docker命令后台启动Docling网页监控容器,映射宿主机5001端口,使用命名卷持久化监控数据,并设置开机自动重启:

docker run -d \
  --name docling-serve \
  --restart unless-stopped \
  --gpus all \
  -p 5001:5001 \
  -e DOCLING_SERVE_ENABLE_UI=1 \
  -v ./docling_models:/app/models \
  quay.io/docling-project/docling-serve-cu128:latest

image-20260922153427552

验证docker状态:

docker ps

image-20260922153457464

compose版本

创建存放docker配置文件的文件夹:

mkdir -p /docker/docling
cd /docker/docling
vi /docker/docling/docker-compose.yml
version: "3.8"
services:
  docling-serve:
    image: quay.io/docling-project/docling-serve:latest
    container_name: docling-serve
    restart: unless-stopped
    ports:
      - "5001:5001"
    environment:
      - DOCLING_SERVE_ENABLE_UI=1
      - DOCLING_SERVE_MAX_FILE_SIZE=50MB
    volumes:
      - ./docling_models:/app/models
      - ./docling_data:/data
    # GPU版本取消下面注释
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: all
    #           capabilities: [gpu]

启动:

docker-compose up -d

部署完成后,在浏览器中输入 http://飞牛IP:5001 就能看到Docling的界面:

2167de0be96bd8b3ca4147df9f39cb63

4.介绍Docling功能

Docling Serve 的 WebUI 界面,支持通过 URL 或者上传文件两种方式导入文档,可自由勾选输出格式(JSON、Markdown、HTML 等),内置 OCR 识别、多种解析流水线、PDF 后端引擎与表格解析模式,还能开启公式、图片增强等高级选项,一键把 PDF、图片类文档解析并导出 Markdown,实现私有化文档转换。

image-20260922154153241

Docling Serve 的Convert File文件上传页面,支持拖拽或点击上传本地文档,可自主选择输出格式(推荐勾选 Markdown),内置 OCR 识别、多种解析流水线、PDF 解析后端与表格解析模式,还能开启公式、图片增强等高级选项,上传文件后点击 Process File 即可完成文档解析,把 PDF、图片、Word 等文档转为规整 Markdown。

image-20260922154255506

Docling Serve的文件转换结果页面,已经上传 xlsx 表格文件,点击 Process File 完成解析,在 Markdown 标签页直接输出了格式化的 Markdown 表格内容,完整保留表格行列信息,可直接复制或者下载结果,实现 Excel 表格一键转为标准 Markdown 文本。

image-20260922155748569

Docling Serve 的 API 文档页面,支持 Python、JavaScript、curl 等多种语言调用方式,页面展示了/wait_task_finish_1接口的 Python 调用示例,标注了 auth、task_id 等必填参数,可直接复制代码用于二次开发,方便把文档解析能力集成到其他程序、脚本或者大模型工作流中。

image-20260922154707565

Docling Serve WebUI 的设置页面,支持切换浅色、深色、跟随系统三种显示主题,可将界面语言设置为简体中文,还自带 Screen Studio 录屏功能用于录制操作演示视频,同时能配置任务运行历史的存储位置,方便查看过往文档解析记录。

image-20260922154959912

Docling 私有化文档转换工具后,搭配 cpolar 内网穿透,无需公网 IP,就能把本地 fnOS 上的 Docling 服务暴露到外网,随时随地在浏览器打开 WebUI 上传 PDF、Excel、图片等文件,远程完成文档解析、一键导出 Markdown,还可以直接在外网调用 Docling 的 API 接口,跨设备使用这套自建文档处理服务。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Docling,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:5001
  • 域名类型:随机域名
  • 地区:选择China Top

image-20260922160341636

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260922160356713

访问成功。

image-20260922160425911

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是Docling,大家可以自定义。填写备注信息,点击保留。

image-20260922160956216

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

image-20260922161014951

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260922161040469

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260922161054168

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260922161112580

总结

本文完整讲解了在 fnOS NAS 上使用 Docker 部署 Docling 私有化文档处理工具的实操全过程。Docling 是开源文档解析项目,支持 PDF、Word、Excel、PPT、图片等多种格式,自带 OCR 识别能力,可一键提取内容并输出整洁的 Markdown 文本,能够保留表格、标题、列表等文档结构,所有文件解析都在本地完成,不用担心文档泄密。教程包含 Docker 镜像拉取、容器启动命令,同时解决了 GPU 参数报错问题,提供可直接运行的 CPU 版本部署脚本;部署成功后可进入 WebUI,支持拖拽上传本地文件、填入网页 URL 两种解析方式,内置丰富的解析参数,还开放 API 接口方便二次开发。配合 cpolar 内网穿透,无需公网 IP,就能在外网远程访问 Docling 服务,随时随地处理文档转换任务,非常适合个人资料整理、知识库搭建、大模型素材预处理等场景。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章