自建 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,可供您选用:

Read more

Mastodon 数据库升级实战:从 PostgreSQL 12 到 14 全记录

在今日拉取 glitch-soc/mastodon:edge 时,发现 Mastodon 最新版本对数据库的要求提升至至少 PostgreSQL 13,而我的部署环境中一直依赖 Docker Compose ,使用的是 PostgreSQL 12。为了保证后续更新不出问题,冲了一波版本升级。 下面是数据库升级的详细过程: 以下 dc 均为 docker compse 的简写 修改 docker-compose 配置 首先,给 db 服务添加 volume: db: volumes: - ./postgres:/var/lib/postgresql/data - ./dumps:/dumps 单独重启数据库 dc down dc up -d

By YJK
榨干 ORACLE ARM 5/ 安装 Windows

榨干 ORACLE ARM 5/ 安装 Windows

不建议,具有删号的风险、具有变砖的风险。不适合不会救砖的同学。 准备工作 登录 OCI 后台,设置一下实例【传输中加密】为【已禁用】 安装依赖 apt install curl wget -y 安装 Windows 1、DD 的方式,大概历时 15 分钟 curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh && bash reinstall.sh dd --img https://r2.hotdog.eu.org/win11-arm-with-pagefile-15g.

By YJK
自建 Docker Hub 镜像

自建 Docker Hub 镜像

使用 Nginx server { listen 443 ssl; server_name 域名; ssl_certificate 证书地址; ssl_certificate_key 密钥地址; ssl_session_timeout 24h; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; location / { proxy_pass https://registry-1.docker.io; # Docker Hub 的官方镜像仓库 proxy_

By YJK
[AD] 闲置 VPS 挂机赚钱 | 已提现超过 100 USD

[AD] 闲置 VPS 挂机赚钱 | 已提现超过 100 USD

闲置 VPS 挂机销售流量赚钱,通过以下链接注册赠送 5USD,即只要再挂满 5USD 便可提现 10USD,可通过 USDT(TRC20) 提现至 Crypto 钱包。 * https://traffmonetizer.com/?aff=793646 根据 TM 最新的政策, 新注册账号未赠送 5 USD。 还有一个 Repocket,注册送 5U,满 20U 10USD 提现。 Repocket 更新了它的提现政策,满 10 刀即可通过 Paypal、Wise 提现。 * https://link.repocket.co/BTrB Traffmonetizer 挂机方法 1/

By YJK
Mastodon