【VPS】部署一款强大的本地化PDF文件处理工具 · Stirling PDF

  • PDF

💠前言✨


  • 项目地址:https://github.com/Stirling-Tools/Stirling-PDF
  • 部署资料参考:10分钟搭建一个PDF工具箱——Stirling PDF
  • 这是一个强大的本地托管的基于docker的基于web的PDF操作工具,可以让你对PDF文件进行各种操作,如拆分、合并、转换、重新组织、添加图片、旋转、压缩等等。这个本地托管的web应用程序最初是由100%的ChatGPT制作的应用程序,并已发展成为包含各种功能以满足你所有的PDF需求。
  • Stirling PDF不会进行任何记录或跟踪。
  • 所有文件和PDF文件要么仅存在于客户端,仅在任务执行期间驻留在服务器内存中,要么仅暂时驻留在文件中以执行任务。用户下载的任何文件在那时都已从服务器中删除。
  • 特点:
    • 支持暗黑模式
    • 支持多种语言(包括简体和繁体中文)
    • 有自定义下载选项(详情)
    • 并行文件处理和下载
    • 有与外部脚本集成的API
    • 可选的登录和身份验证支持(详情)
    • 支持自定义应用程序名称
    • 支持自定义口号、图标、图片,甚至自定义HTML(通过文件覆盖)

💠部署✨


  • VPS服务器系统:Debian

  • 部署方式:Docker-Compose

  • 创建目录:

mkdir -p /root/data/docker_data/pdf
  • 检查端口占用情况(#查看 8080 端口是否被占用,如果被占用,重新自定义一个端口.):
lsof -i:8080
  • 返回结果, 表示没有安装lsof:
-bash: lsof: command not found
  • 安装lsof
apt install lsof
  • 再次输入检查端口的代码.如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
  • 打开目录:
cd /root/data/docker_data/pdf
  • 创建YAML文件配置信息,vim docker-compose.yaml,内容如下:
version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080'
    volumes:
      - ./trainingData:/usr/share/tessdata #Required for extra OCR languages
      - ./extraConfigs:/configs
#      - ./customFiles:/customFiles/
#      - ./logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
  • 核实配置信息没有问题,英文输入法下,按 i 文字编辑,完成之后,按一下 esc键,然后输入 :wq 保存退出。
*注
- 左侧的8080端口号支持修改,右侧不能变更;
- DOCKER_ENABLE_SECURITY,这个默认就好,如果要开启用户登陆模式的话,再改成 true,具体可以参考:https://github.com/Stirling-Tools/Stirling-PDF 里的 Login authentication来设置,这边就默认false.
- INSTALL_BOOK_AND_ADVANCED_HTML_OPS也是默认即可,这个是将calibre下载到stirling-pdf,以实现pdf到书籍和高级html转换用的,需要的可以打开.
  • 拉取项目:
docker-compose pull
  • 启动项目:
docker-compose up -d
  • 访问项目:
ip:8080
  • 通过CF网站,进行ip解析;通过NGINX进行反向代理,实现域名访问,更安全.

💠常见问题✨


  • Q1:为什么我的下载超时了?
    • NGINX默认具有超时值,因此如果您在NGINX后面运行Stirling-PDF,则可能需要设置超时值,例如添加配置 : proxy_read_timeout 3600;
  • Q2:为什么我的应用程序正在下载 .htm文件?
    • 这通常是由您的NGINX配置引起的问题。NGINX的默认文件上传大小为1MB,您需要在Nginx的sites-available文件中添加以下内容。
      client_max_body_size SIZE;
      其中"SIZE"可以是50M,例如用于50MB的文件。

💠部署完成✨


© 版权声明
文章版权归作者所有,未经允许请勿转载。

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息