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

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

  • 前言
  • 一、Stirling-PDF介绍
    • 1.1 Stirling-PDF简介
    • 1.2 Stirling-PDF功能
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载Stirling-PDF镜像
  • 五、部署Stirling-PDF
    • 5.1 创建部署目录
    • 5.2 编辑部署文件
    • 5.3 创建Stirling-PDF容器
    • 5.4 查看Stirling-PDF容器状态
    • 5.5 查看Stirling-PDF容器日志
  • 六、访问PDF多功能工具Stirling-PDF
    • 6.1 访问Stirling-PDF首页
    • 6.2 设置系统中文
  • 七、Stirling-PDF工具的基本使用
    • 7.1 将word文档转换为PDF文档
    • 7.2 PDF转换为word
  • 八、总结

前言

之前使用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。

hostnameIP地址操作系统版本Docker版本Stirling-PDF版本
ubuntu-docker192.168.3.86Ubuntu 22.04.1 LTS24.0.70.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 EngineLoaded: 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.socketDocs: https://docs.docker.comMain PID: 3625 (dockerd)Tasks: 12Memory: 26.0MCPU: 3.367sCGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@ubuntu-docker:~# docker  -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

3.3 检查docker compose 版本

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

root@ubuntu-docker:~#  docker compose version
Docker Compose version v2.19.1

四、下载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

五、部署Stirling-PDF

5.1 创建部署目录

创建部署目录

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

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-fatcontainer_name: Stirling-PDFports:- '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: falseLANGS: zh_CN    # 设置语言

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

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

5.5 查看Stirling-PDF容器日志

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

docker compose logs

在这里插入图片描述

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

6.1 访问Stirling-PDF首页

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

在这里插入图片描述

6.2 设置系统中文

在登录页,选择系统语言为简体中文,账号密码为我们在部署文件中自定义的,登录即可。

在这里插入图片描述

在这里插入图片描述

七、Stirling-PDF工具的基本使用

7.1 将word文档转换为PDF文档

点击菜单栏中的转换成PDF模块,选择将“将文件转换为PDF文件”。

在这里插入图片描述

选择文件,点击转化为PDF。

在这里插入图片描述

转换成功后,浏览器会自动下载到本地。

在这里插入图片描述

测试将转换后的pdf文档打开,浏览正常。

在这里插入图片描述

7.2 PDF转换为word

点击菜单栏中的从PDF转换模块,选择"PDF转换为word"。

在这里插入图片描述

上传文件,点击“转换”。

在这里插入图片描述

PDF文件会转换成word文件,浏览器自动下载到本地。

在这里插入图片描述

打开下载到本地的word文件,浏览文件内容。

在这里插入图片描述

八、总结

Stirling-PDF是一款功能强大的PDF工具。最新版本修复了以前版本中的一些bug,并且有更美观漂亮的界面,使用起来更加流畅。它是一款非常优秀的PDF工具,可以极大地提高我们的工作效率。我已经将它部署到本地个人工具库中了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/861701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解Elastic Search高速搜索背后的秘密:倒排索引

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引…

Python应用开发——30天学习Streamlit Python包进行APP的构建(10)

st.map 显示一张叠加了散点图的地图。 它是 st.pydeck_chart 的包装器,用于在地图上快速创建散点图表,并具有自动居中和自动缩放功能。 使用该命令时,Mapbox 会提供地图瓦片来渲染地图内容。请注意,Mapbox 是第三方产品&#x…

海云安参编《数字安全蓝皮书 》正式发布并入选《2024中国数字安全新质百强》荣膺“先行者”

近日,国内数字化产业第三方调研与咨询机构数世咨询正式发布了《2024中国数字安全新质百强》(以下简称百强报告)。海云安凭借在开发安全领域的技术创新力及市场影响力入选百强报告“新质百强先行者” 本次报告,数世咨询经过对国内8…

用Verilog实现4位计数器(时序逻辑)

用Verilog实现4位计数器。(时序逻辑) 实验目的: 通过用Verilog实现4位计数器,进一步熟悉Verilog的语法和时序逻辑电路。 实验描述: 输入: Clock:如果计数器enable信号为1,那么在…

多功能气象传感器的工作原理

TH-WQX9多功能气象传感器是一种集成了多种传感器技术的气象观测装置,旨在同时测量和监测大气中的多个气象要素,以提供全面、准确的气象信息。以下是关于多功能气象传感器的详细介绍: 技术原理 多功能气象传感器采用多种传感器技术相结合&…

day01-项目介绍及初始化-登录页

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 day01-项目介绍及初始化-登录页一、人力资源项目介绍1.1项目架构和解决方案主要模块解决的问题 二、拉取项目基础代码1.引入库2.升级core-js版本到3.25.5按照完整依…

LSTM时间序列基础学习

时间序列 时间序列可以是一维,二维,三维甚至更高维度的数据,在深度学习的世界中常见的是三维时间序列,这三个维度分别是(batch_size,time_step,input_dimensions)。 其中time_step是时间步,它…

jenkins中执行docker命令

1. 修改docker.sock文件的所属组 命令如下: sudo chown root:root docker.sock 2. 对这个文件赋予权限,供其他用户使用,给定权限命令如下: sudo chmod orw docker.sock 3. docker容器映射 这里需要两个文件: 一个…

等保主机测评防骗指南(资产调研)

你是否测评时常被运维给忽悠?是否觉得以下的对话耳熟? 你:您好,请问你们的主机资产有哪些,包括服务器、数据库、中间件、应用系统等。 甲:我们资产就这两台服务器,数据库什么的都这上面&#…

TMGM:ASIC撤销禁令,TMGM强化合规、重启差价合约服务

TMGM作为差价合约(CFDs)与保证金外汇交易领域的领航者,安全、合规、高效被奉为我集团的终身使命。澳大利亚证券和投资委员会(ASIC)已正式撤销了早前针对TMGM差价合约业务实施的临时止损令。这一误会的解除,…

降低IT运营成本,提升客户体验 |LinkSLA亮相第十届CDIE

6月25-26日,中国数字化创新博览会(CDIE 2024)在上海张江科学会堂举行。本届展览主题为“AI创新,引领商业增长新格局”,旨在交流企业在数字化时代,如何以科技为驱动,在转型中如何把握机遇&#x…

Springboot + Mybatis-Plus代码生成指南

使用 Spring Boot 和 MyBatis-Plus 生成代码&#xff0c;可以大大简化开发流程&#xff0c;可以保持编码的规范性&#xff0c;生成单元测试等。以下是详细步骤&#xff1a; 配置pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>myb…

如何利用静力水准仪进行地形沉降测量

地形沉降测量在建筑工程和地质研究中起着至关重要的作用。准确的地形沉降测量可以帮助工程师预测和预防潜在的地基问题&#xff0c;从而保障建筑物的安全和稳定。本文将详细介绍如何利用静力水准仪进行地形沉降测量&#xff0c;并探讨其在实际应用中的优势。 静力水准仪的基本原…

关于数字化营销中做好拓新裂变活动的策划探讨

一、引言 在当今数字化时代&#xff0c;企业面临着日益激烈的市场竞争和不断变化的消费者需求。数字化营销作为一种高效的营销方式&#xff0c;能够以较低的成本触达更广泛的目标受众。而拓新裂变活动则是数字化营销中的关键环节&#xff0c;对于企业快速扩大用户群体、提升品…

购物商城系统

摘要 随着互联网的快速发展&#xff0c;网上购物已经成为人们日常生活中不可或缺的一部分。越来越多的消费者选择在网上购物&#xff0c;享受随时随地的便利和丰富多样的商品选择。然而&#xff0c;随着网上购物用户数量的不断增加&#xff0c;传统的线下商店已经无法满足用户…

国家地表水水质自动监测数据(整理版)

国家地表水水质自动检测实时数据发布系统&#xff0c;发布的数据。含省份、城市、河流、流域、断面名称、监测时间、水温、pH、DO、CODMn、TP、TN、NH3-N、浊度等。 数据介绍&#xff1a; 2014年4月-2020年11月每月60-140个左右的站点有数据&#xff0c;从2020年11月开始&#…

MHA、MMM高可用方案及故障切换

目录 一、MHA高可用方案 1、MHA的组成 2、MHA的工作原理 3、部署MHA架构 第一部分&#xff1a;一主两从数据库架构部署 1、全部更改主机名、初始化操作、开启mysql服务、设置主机名管理、时间同步 2、MySQL服务器做主从复制 3、测试主从效果 第二部分&#xff1a;MHA架…

Python25 Numpy基础

1.什么是Numpy NumPy&#xff08;Numerical Python 的简称&#xff09;是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric&#xff0c;这是一个由 Jim Hugunin 等人开发的…

SAP ALV 负号提前

FUNCTION CONVERSION_EXIT_ZSIGN_OUTPUT. *"---------------------------------------------------------------------- *"*"本地接口&#xff1a; *" IMPORTING *" REFERENCE(INPUT) *" EXPORTING *" REFERENCE(OUTPUT) *"…

PNAS|这样也可以?拿别人数据发自己Paper?速围观!

还在为数据量小&#xff0c;说服力不足发愁&#xff1f; 想研究脱颖而出、眼前一亮&#xff1f; 想从更高层次的探索微生物的奥秘&#xff0c;发出一篇好文章&#xff1f; 近期&#xff0c;有一篇发表在PNAS(IF11.1)的文章“Deforestation impacts soil biodiversity and ecos…