使用 Docker 部署 Stirling-PDF 多功能 PDF 工具

1)Stirling-PDF 介绍

大家应该都有过这样的经历,面对一堆 PDF 文档,或者需要合并几个 PDF,或者需要将一份 PDF 文件拆分,又或者需要调整 PDF 中的页面顺序,找到的线上工具 要么广告满天飞,要么 需要付费使用,再不然就是 担心隐私泄露 的问题。如果你也对此感到困扰,那么自建的 PDF 处理工具 Stirling-PDF 或许是你需要的解决方案。

1.1)Stirling-PDF 简介

官网: https://stirlingtools.com/
GitHub: https://github.com/Stirling-Tools/Stirling-PDF

Stirling-PDF 是一款基于 Web 的 PDF 操作工具,是一个高效而强大的本地托管应用程序,为您提供广泛的 PDF 文件处理功能。可满足各种 PDF 处理需求。您可以使用它来执行多种操作,例如拆分、合并、转换、重新排列、添加图像、旋转和压缩 PDF 文件。这个本地托管的 Web 应用程序具有出色的性能,能够在本地环境中运行,为您提供更高的数据安全性。不论您是处理文档、电子书还是其他 PDF 相关任务,这个工具都将成为您的得力助手,满足您的一切 PDF 处理需求。

1.2)Stirling-PDF 功能

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

1.3)Stirling-PDF 特性

  1. 多语言支持
  2. 丰富的页面操作支持
  3. 多样的转换操作支持
  4. 安全与权限管理功能
  5. 更多扩展功能支持

2)检查 Docker 环境

2.1)安装 Docker 软件包

bash 复制代码
# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
bash 复制代码
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
bash 复制代码
# 启用 Docker
systemctl enable --now docker

2.2)检查 Docker 服务状态

bash 复制代码
systemctl status docker

2.3)开启 IPv4 forwarding

bash 复制代码
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward

3)安装 Docker-Compose

3.1)下载 Docker-Compose 二进制包

bash 复制代码
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

3.2)给 Docker-Compose 文件增加执行权限

bash 复制代码
chmod +x /usr/local/bin/docker-compose

3.3)检查 Docker-Compose 版本信息

bash 复制代码
docker-compose -v

4)下载 Stirling-PDF 镜像

注意: 镜像版本我修改为了老版本 0.14.5 ,因为我在测试过程中使用 lastest 版本导出的文件中文乱码

bash 复制代码
docker pull frooodle/s-pdf:0.14.5

5)方式一:基于 Docker-Cli 部署 Stirling-PDF 应用

5.1)创建 Stirling-PDF 容器

bash 复制代码
# 创建数据存储目录
mkdir -p /docker/stirling-pdf/{files,data,configs,logs}
bash 复制代码
# 基于 Docker-Cli 部署 Stirling-PDF 应用
docker run -d \
  -p 8888:8080 \
  -v /docker/stirling-pdf/data:/usr/share/tesseract-ocr/4.00/tessdata \
  -v /docker/stirling-pdf/files:/customFiles \
  -v /docker/stirling-pdf/configs:/configs \
  -v /docker/stirling-pdf/logs:/logs \
  -e DOCKER_ENABLE_SECURITY=false \
  -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
  --name stirling-pdf \
  frooodle/s-pdf:0.14.5

5.2)查看 Stirling-PDF 容器状态

检查 Stirling-PDF 容器状态状态,确保 Stirling-PDF 容器正常启动。

bash 复制代码
docker ps -a

5.3)查看 Stirling-PDF 容器日志

检查 Stirling-PDF 容器日志,确保 Stirling-PDF 服务正常运行。

bash 复制代码
docker logs stirling-pdf

6)方式二:基于 Docker-Compose 部署 Stirling-PDF 应用

6.1)编辑 Docker-Compose.yaml 文件

bash 复制代码
vim docker-compose.yaml
bash 复制代码
version: '3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:0.14.5
    ports:
      - 8888:8080
    volumes:
      - /docker/stirling-pdf/data:/usr/share/tesseract-ocr/4.00/tessdata
      - /docker/stirling-pdf/configs:/configs
      - /docker/stirling-pdf/files:/customFiles
      - /docker/stirling-pdf/logs:/logs
    environment:
      - DOCKER_ENABLE_SECURITY=false

6.2)运行 Stirling-PDF 容器

bash 复制代码
# 基于 docker-compose.yaml 启动并运行服务
docker-compose -f docker-compose.yaml up -d

6.3)验证 Stirling-PDF 容器状态

bash 复制代码
docker ps -a

7)访问 Stirling-PDF

7.1)访问 Stirling-PDF 首页

访问:http://192.168.80.8:8888/
注意: 将 IP 替换为自己服务器 IP 地址。

7.2)设置系统中文


8)Stirling-PDF 基本使用

8.1)将 Word 转 PDF 文档

选择文件,点击转换为 PDF( 将文件拖拽至页面也可以 )

8.2)将 MarkDown 转 PDF 文档

上传文件,点击 转换( 将文件拖拽至页面也可以 )

8.3)文档加密


8.4)文档解密


8.5)添加水印



9)最后

通过搭建自己的 Stirling-PDF,不仅可以随时随地处理 PDF,而且可以确保私人数据始终在自己的掌控之中,不会被不必要的第三方所获取。
如果你喜欢这篇文章,请记得点赞,收藏,并关注 【开源极客行】 ,我将持续分享更多实用的自搭建应用指南。一起,让我们掌握自己的数据,创建自己的数字世界!
如果你在搭建过程中遇到任何问题,或者有任何建议,也欢迎在下方留言,一起探讨和学习。

相关推荐
IvanCodes2 小时前
一、Docker:一场颠覆应用部署与运维的容器革命
docker·容器
栗子~~3 小时前
Milvus docker-compose 部署
docker·容器·milvus
椰汁菠萝3 小时前
ubuntu下免sudo执行docker
ubuntu·docker·免sudo
没有名字的小羊4 小时前
2.安装Docker
运维·docker·容器
xiezhr4 小时前
50 个常用 Docker 命令
运维·docker·容器
退役小学生呀10 天前
三、kubectl使用详解
云原生·容器·kubernetes·k8s
API开发10 天前
苹果芯片macOS安装版Homebrew(亲测) ,一键安装node、python、vscode等,比绿色软件还干净、无污染
vscode·python·docker·nodejs·openssl·brew·homebrew
程序员小潘10 天前
Kubernetes多容器Pod实战
云原生·容器·kubernetes
进击的码码码码N10 天前
Docker 镜像加速
运维·docker·容器
Q_w774210 天前
基于 Docker 的服务部署探索(Day 2)
运维·docker·容器