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

相关推荐
wclass-zhengge41 分钟前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
川石课堂软件测试3 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
昌sit!9 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
追风林10 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
A ?Charis12 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
城南vision12 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge12 小时前
Docker篇(Docker Compose)
运维·docker·容器
北漂IT民工_程序员_ZG13 小时前
k8s集群安装(minikube)
云原生·容器·kubernetes
梦魇梦狸º16 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github