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

相关推荐
张忠琳18 小时前
【kubernetes】Node Feature Discovery 0.20.0-devel 源码深度解析 — 第四卷:CLI入口、工具链与全局架构总结
云原生·容器·架构·kubernetes·nvidia
nuo5342021 天前
基础 6 —— Docker 容器数据卷
docker·容器
Sinclair1 天前
安企CMS的安装-Docker 部署
运维·docker·容器
要开心吖ZSH1 天前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么
java·docker·agent·医疗·rag
汪汪大队u1 天前
【无标题】
运维·docker·kubernetes·prometheus
spider_xcxc1 天前
Docker Compose 容器通信详解:同一个 Compose 文件才能互通吗?
docker·容器·k8s·容器化·容器网络
慧一居士1 天前
KubePi 功能和使用场景全面介绍
容器
BaiduPHP1 天前
docker异常断电,出现docker服务,启动失败
docker·容器·eureka
云烟成雨TD1 天前
Kubernetes 系列【20】服务:EndpointSlice 端点分片
云原生·容器·kubernetes
梦梦代码精1 天前
多商户商城技术选型实测:ThinkPHP 8与Vue 3结合,B2B2C架构下的开源实践
docker·开源·代码规范