自建 Stirling PDF | 一个 PDF 工具集

Stirling PDF 是一个开源的 PDF 文件处理工具,由 Spring Boot + Thymeleaf、PDFBox、LibreOffice、OcrMyPdf、HTML、CSS、JavaScript、Docker、PDF.js 等技术开发而成。它可以通过本地及在线部署的方式,为用户提供各种 PDF 文件操作功能。

以下是 Stirling PDF 的一些具体功能介绍:

  • 合并 PDF 文件:可以将多个 PDF 文件合并为一个文件。
  • 拆分 PDF 文件:可以将一个 PDF 文件拆分为多个文件。
  • 旋转 PDF 文件:可以将 PDF 文件按指定角度旋转。
  • 裁剪 PDF 文件:可以将 PDF 文件的一部分裁剪出来。
  • 添加水印:可以向 PDF 文件添加水印。
  • 解锁 PDF:可以解除 PDF 文件的密码保护。
  • 转换 PDF 格式:可以将 PDF 文件转换为其他格式,如 Word、Excel、PPT 等。
  • OCR 识别 PDF:可以将 PDF 文件中的文字转换为文本格式。

Stirling PDF 具有以下优点:

  • 开源免费
  • 支持多种操作系统
  • 功能丰富
  • 易于使用
  • 方便搭建

以下介绍如何在 VPS 中搭建 Stirling PDF:

1 安装 Docker

一台较大内存基于 KVM 的 VPS,AMD64 及 ARM64 均可以,推荐使用 Debian 操作系统。

安装 Docker 及 Compose:

curl -Ls get.docker.com | bash

2 运行 Stirling PDF

mkdir -p /var/www/pdf && cd /var/www/pdf

cat > docker-compose.yaml << EOF
version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080'
    volumes:
      - ./trainingData:/usr/share/tesseract-ocr/5/tessdata
      - ./extraConfigs:/configs
    environment:
      - DOCKER_ENABLE_SECURITY=false
EOF
# 先运行一次
docker compose up -d

# 停止
docker compose down

下载 OCR 基础包

cd trainingData && rm -rf *
git clone https://github.com/tesseract-ocr/tessdata_fast.git .
cd ..

可选,编辑配置文件

vim extraConfigs/settings.yml
# 更改默认语言
system:
  defaultLocale: 'zh-CN'
  
# 更改应用名、标题及简介,去掉 ui 及子集前的井号,并按需求配置
ui:
  appName: exampleAppName # Application's visible name
  homeDescription: I am a description # Short description or tagline shown on homepage.
  appNameNavbar: navbarName # Name displayed on the navigation bar

再次运行

docker compose up -d

这时访问 ip:8080 即可访问 Stirling PDF。

3 开放网站

安装 Caddy

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

将域名 A 或者 AAAA 记录指向您的 VPS

编辑 Caddy 配置文件

vim /etc/caddy/Caddyfile
pdf.example.com {
         tls pdf@example.com
         encode gzip
         reverse_proxy localhost:8080
}

请把其中的 pdf.example.com 替换为您的域名, pdf@example.com 替换为你的邮箱,用于签发 SSL 证书。(所填邮箱不一定要是真实存在的。)

启动 Caddy

systemctl start caddy

开机启动

systemctl enable caddy

访问 https://pdf.example.com 即可访问您的 Stirling PDF。


这是博主搭建的 Stirling PDF,可供您选用:

2024-01-02  1+ 次浏览 编辑本文  返回顶部
Mastodon