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

相关推荐
漫无目的行走的月亮39 分钟前
在Docker中运行微服务注册中心Eureka
docker
大G哥3 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
大道归简4 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns8024 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~4 小时前
Docker
docker·容器
福大大架构师每日一题5 小时前
23.1 k8s监控中标签relabel的应用和原理
java·容器·kubernetes
程序那点事儿5 小时前
k8s 之动态创建pv失败(踩坑)
云原生·容器·kubernetes
疯狂的大狗5 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色5 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒5 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad