前言

日常生活办公中 PDF 是我们离不开的一种文件格式。平时工作我们经常要对 PDF 文件进行一些编辑工作,比如添加水印,增加删除页面。但是现在很多 PDF 工具都是收费的。

今天就来教你们在自己的服务器上搭建一个只属于自己的 PDF 工具箱,满足自己所有的 PDF 需求。

项目介绍

本项目是基于网络的本地托管 PDF 处理工具,使用 Docker。它可让您对 PDF 文件执行各种操作,包括拆分、合并、转换、重新组织、添加图像、旋转、压缩等。所有文件和 PDF 仅在任务执行期间驻留在服务器内存中,任务需求结束以后就会被删除,保证你的文件安全。

功能预览:

2025-01-26T14:15:42-zetnycdp.png

教程

废话不多说,现在开始教程。本教程采用宝塔面板 Docker 安装,十分方便。

1、程序安装

  1. 首先创建一个安装目录

    2025-01-26T14:19:42-ipyhfgtv.png

    1. 创建 docker-compose.yml文件

      2025-01-26T14:56:52-bblddzfw.png

      3.将下面的代码粘贴到刚才新建的 docker-compose.yml

      version: '3.3'
      services:
        stirling-pdf:
          image: stirlingtools/stirling-pdf:latest
          ports:
            - '8080:8080'
          volumes:
            - ./StirlingPDF/trainingData:/usr/share/tessdata # Required for extra OCR languages
            - ./StirlingPDF/extraConfigs:/configs
            - ./StirlingPDF/customFiles:/customFiles/
            - ./StirlingPDF/logs:/logs/
            - ./StirlingPDF/pipeline:/pipeline/
          environment:
            - DOCKER_ENABLE_SECURITY=false
            - LANGS=en_GB
      

2025-01-26T14:23:53-emlwrotw.png

  1. 打开防火墙的 8080 端口。服务器和宝塔面板都要放行。

    2025-01-26T14:48:33-qkwfibal.png

    2025-01-26T14:49:56-jvaceupq.png

    1. 如果 8080 端口被占用了。可以自定义换成其他端口。我们可以通过lsof 命令来查看端口是否被占用

      lsof -i:8080  #查看 8080 端口是否被占用,如果被占用,重新自定义一个端
      

    2. 启动 stirling_pdf,

      打开我们刚才创建的 stirling_pdf文件夹,点击终端。

      2025-01-26T14:53:18-yjfndaxg.png

      输入 docker compose up -d启动 docker 服务

      docker compose up -d
      

      2025-01-26T14:57:50-tsktujpp.png

      等待进度跑完 这样系统就成功启动了。

      2025-01-26T15:00:18-cpdjokvf.png

    3. 现在我们就可以输入 http://ip:8080 访问了

2、配置反向代理

  1. 首先我们将域名解析到服务器。

    2025-01-26T15:12:55-qslaovpu.png

    我这里是将域名托管到 CloudFlare里面,具体可以参考这篇文章

    如何把域名DNS解析转移到CloudFlare

    2025-01-26T15:22:15-jydinpzs.png

  2. 在宝塔面板里配置反向代理,打开宝塔面板里的 docker,在总览里面选择我们的 PDF 容器打开详情面板,选择反向代理,然后将我们刚才解析好的域名填在里面,如果需要开启 Https,还需要配置 SSL 证书。

    2025-01-26T15:18:35-jajccxdn.png

  3. 这样我们就安装好了一个专属自己的 PDF 工具箱

    2025-01-27T23:33:53-lvpzlqsa.png

    体验地址:pdf.crazymiao.com

参考文章:https://github.com/Stirling-Tools/Stirling-PDF