【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF

前言

之前使用Docker部署过Stirling-PDF项目,当时的版本为0.22.2,其中部分功能使用起来可能存在bug。现在该项目已经更新到了0.26.1版本,部分bug得到修复,同时Stirling-PDF界面有了较大变化,更加的美观,现在来体验一下新版本以及功能。


一、Stirling-PDF介绍

1.1 Stirling-PDF简介

Stirling-PDF:这是一个使用 Docker 的强大的、本地托管的基于 Web 的 PDF 操作工具。它使您能够对 PDF 文件执行各种操作,包括拆分、合并、转换、重新组织、添加图像、旋转、压缩等。这个本地托管的 Web 应用程序已经发展到包含一套全面的功能,可以满足您的所有 PDF 需求。


1.2 Stirling-PDF功能

功能分类 功能说明

页面操作 查看和修改PDF:使用PDF.js与Joxit及Liberation字体,支持多页PDF浏览、自定义排序、搜索以及页面注释、绘图、添加文字和图片功能。

全交互式GUI:用于合并、拆分、旋转、移动PDF及其页面。

合并PDF:将多个PDF合并成单个文件。

拆分PDF:按指定页码拆分为多个文件或提取所有页面为独立文件。

重新组织页面顺序。

旋转PDF:以90度为单位旋转。

删除页面。

多页布局:将PDF格式化为多页页面。

缩放页面内容大小。

调整对比度。

裁剪PDF。

自动拆分扫描的PDF(基于物理分隔)。

提取页面。

将PDF转换为单页。

转换操作 PDF与图片互转。

常见文件转换为PDF(使用LibreOffice)。

PDF转换为Word/PPT/其他格式(使用LibreOffice)。

HTML转PDF。

URL转PDF。

Markdown转PDF。

安全与权限 添加/移除密码。

更改/设置PDF权限。

添加水印。

签名/认证PDF。

清理PDF。

自动屏蔽敏感文字。

其他操作 添加/生成/编写签名。

修复PDF。

检测并移除空白页。

比较两个PDF并显示文本差异。

向PDF中添加图片。

压缩PDF以减小文件大小(使用OCRMyPDF)。

从PDF中提取图片。

从扫描件中提取图片。

添加页码。

根据PDF头部文本自动重命名文件。

对PDF进行OCR处理(使用OCRMyPDF)。

转换为PDF/A标准(使用OCRMyPDF)。

编辑元数据。

扁平化PDF。

获取PDF所有信息,可查看或导出为JSON。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。


hostname IP地址 操作系统版本 Docker版本 Stirling-PDF版本

ubuntu-docker 192.168.3.86 Ubuntu 22.04.1 LTS 24.0.7 0.26.1

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署PDF多功能工具Stirling-PDF。


三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。


root@ubuntu-docker:~# systemctl status docker

● docker.service - Docker Application Container Engine

     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

     Active: active (running) since Fri 2024-06-21 16:45:29 UTC; 9h ago

TriggeredBy: ● docker.socket

       Docs: https://docs.docker.com

   Main PID: 3625 (dockerd)

      Tasks: 12

     Memory: 26.0M

        CPU: 3.367s

     CGroup: /system.slice/docker.service

1

2

3

4

5

6

7

8

9

10

11

3.2 检查Docker版本

检查Docker版本


root@ubuntu-docker:~# docker  -v

Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

1

2

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。


root@ubuntu-docker:~#  docker compose version

Docker Compose version v2.19.1


1

2

3

四、下载Stirling-PDF镜像

使用本人的阿里云私人镜像仓库下载Stirling-PDF镜像registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat


root@ubuntu-docker:~# docker pull   registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat

0.26.1-fat: Pulling from jeson/s-pdf

d25f557d7f31: Pull complete

c1f8f1be6b13: Pull complete

1f66901a7ce5: Pull complete

64608eef7b1e: Pull complete

b3900a49ca85: Pull complete

cea40baf48ce: Pull complete

Digest: sha256:67ee927cc5b499e32164c25cad5197e9226ced31d319282a7a346b912063909c

Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat

registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat

1

2

3

4

5

6

7

8

9

10

11

五、部署Stirling-PDF

5.1 创建部署目录

创建部署目录


mkdir -p /data/s-pdf && cd /data/s-pdf

1

5.2 编辑部署文件

在/data/s-pdf目录,创建docker-compose.yaml文件,内容如下,其中宿主机映射端口、登录账号密码等可以自定义配置。


version: '3.9'

services:

  stirling-pdf:

    image: registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat

    container_name: Stirling-PDF

    ports:

      - '6080:8080'

    volumes:

      - /data/s-pdf/trainingData:/usr/share/tessdata    # OCR 语言支持

      - /data/s-pdf/extraConfigs:/configs

      - /data/s-pdf/customFiles:/customFiles/

      - /data/s-pdf/logs:/logs/

    environment:

      DOCKER_ENABLE_SECURITY: true    # 启用内部安全功能

      SECURITY_ENABLELOGIN: true    # 启用登录功能

      SECURITY_INITIALLOGIN_USERNAME: jeven    # Stirling-PDF登录账号

      SECURITY_INITIALLOGIN_PASSWORD: jeven    # Stirling-PDF登录密码

      UI_APPNAME: jeven-PDF    # 自定义导航标题

      INSTALL_BOOK_AND_ADVANCED_HTML_OPS: false

      LANGS: zh_CN    # 设置语言

     

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

5.3 创建Stirling-PDF容器

执行以下命令,创建Stirling-PDF容器。


root@ubuntu-docker:/data/s-pdf# docker compose up -d

[+] Running 2/2

 ✔ Network s-pdf_default   Created                                                                                                                                 0.0s

 ✔ Container Stirling-PDF  Started                                                                                                                                 0.3s

1

2

3

4

5.4 查看Stirling-PDF容器状态

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


[root@ubuntu-docker:/data/s-pdf# docker compose ps

NAME                IMAGE                                                      COMMAND                  SERVICE             CREATED             STATUS              PORTS

Stirling-PDF        registry.cn-hangzhou.aliyuncs.com/jeson/s-pdf:0.26.1-fat   "tini -- /scripts/in…"   stirling-pdf        58 seconds ago      Up 57 seconds       0.0.0.0:6080->8080/tcp, :::6080->8080/tcp

1

2

3

5.5 查看Stirling-PDF容器日志

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


docker compose logs

1



六、访问PDF多功能工具Stirling-PDF

6.1 访问Stirling-PDF首页

访问地址:http://192.168.3.86:6080,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/jks212454/article/details/139872087


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。