当前位置: 首页 > news >正文

云原生之使用Docker部署PDF多功能工具Stirling-PDF

云原生之使用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 创建Stirling-PDF容器
    • 5.2 查看Stirling-PDF容器状态
    • 5.3 查看Stirling-PDF容器日志
  • 六、访问PDF多功能工具Stirling-PDF
    • 6.1 访问Stirling-PDF首页
    • 6.2 设置系统中文
  • 七、Stirling-PDF工具的基本使用
    • 7.1 将word文档转换为PDF文档
    • 7.2 PDF转换为word
    • 7.3 比较PDF文档
    • 7.4 添加水印功能

一、Stirling-PDF介绍

1.1 Stirling-PDF简介

这是一个功能强大的基于本地托管的基于pdf的操作工具,它使用Dorker,允许您在pdf文件上执行各种操作,例如分解合并、转换、重组、添加图像、旋转、压缩等等。这个本地托管的Web应用程序开始是一个100%的聊天制作的应用程序,已经发展到包括广泛的功能,以处理您的所有PDF需求。

1.2 Stirling-PDF功能

  • 用于合并/拆分/旋转/移动PDF及其页面的完全交互式GUI。
  • 将多个 PDF 合并到一个生成的文件中。
  • 将 PDF 拆分为多个文件,并按指定的页码或将所有页面提取为单个文件。
  • 将 PDF 页面重新组织为不同的顺序。
  • 以 90 度为增量旋转 PDF。
  • 删除页面。
  • 多页布局(将 PDF 格式化为多页页面)。
  • 按设置%缩放页面内容大小。
  • 调整对比度。
  • 裁剪 PDF。
  • 自动拆分 PDF(使用物理扫描的页面分隔符)。
  • 提取页面。
  • 将 PDF 转换为单个页面。
  • 将 PDF 与图像相互转换。
  • 将任何常用文件转换为PDF(使用LibreOffice)。
  • 将PDF转换为Word/Powerpoint/Others(使用LibreOffice)。
  • 将 HTML 转换为 PDF。
  • 指向 PDF 的网址。
  • 降价为 PDF。

二、本次实践规划

2.1 本地环境规划

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

hostnameIP地址操作系统版本Docker版本
jeven192.168.3.166centos 7.620.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署PDF多功能工具Stirling-PDF。

三、本地环境检查

3.1 检查Docker服务状态

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

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-09-28 07:36:35 CST; 11h agoDocs: https://docs.docker.comMain PID: 12113 (dockerd)Tasks: 111Memory: 273.2MCGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下载Stirling-PDF镜像

在docker hub下载Stirling-PDF镜像。

[root@jeven ~]# docker pull   frooodle/s-pdf:latest
latest: Pulling from frooodle/s-pdf
34df401c391c: Pull complete
8cdc2b53ba57: Pull complete
c6c65d966457: Pull complete
13099527500c: Pull complete
78c116fb88da: Pull complete
20082bfb7928: Pull complete
dba638f6fe9b: Pull complete
b29eea22753f: Pull complete
4f4fb700ef54: Pull complete
996d139ed6da: Pull complete
00bc26b259cc: Pull complete
Digest: sha256:e6e209f64eb7c8b783a8cc745e640e6ccc4530c459bfd66da813a4a134e4fdba
Status: Downloaded newer image for frooodle/s-pdf:latest
docker.io/frooodle/s-pdf:latest

五、部署Stirling-PDF

5.1 创建Stirling-PDF容器

使用docker-cli快速创建Stirling-PDF容器。

docker run -d \-p 8380:8080 \-v /data/stirling-pdf/data/:/usr/share/tesseract-ocr/4.00/tessdata \-v /data/stirling-pdf/configs/:/configs \-e DOCKER_ENABLE_SECURITY=false \--name stirling-pdf \frooodle/s-pdf:latest

在这里插入图片描述

5.2 查看Stirling-PDF容器状态

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

[root@jeven ~]# docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED         STATUS         PORTS       NAMES
e2b79fbf50cc   frooodle/s-pdf:latest   "/scripts/init.sh ja…"   2 minutes ago   Up 2 minutes   0.0.0.0:8380->8080/tcp, :::8380->8080/tcp       stirling-pdf

5.3 查看Stirling-PDF容器日志

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

docker logs stirling-pdf

在这里插入图片描述

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

6.1 访问Stirling-PDF首页

访问地址:http://192.168.3.166:8380/,将IP替换为自己服务器IP地址。

在这里插入图片描述

6.2 设置系统中文

按图所示点击“地球”形状小图标,点击简体中文即可。

在这里插入图片描述
在这里插入图片描述

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

7.1 将word文档转换为PDF文档

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

7.2 PDF转换为word

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

7.3 比较PDF文档

可以比较两个PDF文档之前的修改地方。

在这里插入图片描述
在这里插入图片描述

7.4 添加水印功能

在安全——添加水印,填写水印内容,确认即可。

在这里插入图片描述

添加成功后,浏览器下载到本地,打开文档,可以看到水印效果。

在这里插入图片描述
在这里插入图片描述

相关文章:

云原生之使用Docker部署PDF多功能工具Stirling-PDF

云原生之使用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 版本 四、下载Stirli…...

B树和B+树的介绍和对比,以及MySQL为何选择B+树

在计算机科学中,B树和B树是常用的数据结构,用于在大规模数据集上进行高效的插入、删除和查找操作。它们在数据库管理系统、文件系统等许多实际应用中发挥着重要作用。本文将深入介绍B树和B树的结构特点、实际应用方面以及它们的优缺点,并最后…...

MD5 绕过第一式:弱比较绕过

文章目录 参考环境MD5韧性脆弱性md5() 隐式类型转换字符串连接数学运算布尔判断相等运算符 科学计数法科学计数法前缀 0E 与 0e PHP8 与 PHP 其他版本下字符串转化为数值的具体规则PHP8数值字符串优化 其他版本更为详细的讲解 字符串与字符串的弱比较字符串与数值的弱比较0e215…...

红黑树是如何实现的?

文章目录 一、红黑树的概念二、红黑树的性质三、红黑树和AVL树对比四、红黑树的插入1. 红黑树的结点定义2. 父亲的颜色3. 叔叔的颜色为红色4. 叔叔不存在5. 叔叔存在且为黑6. 插入的抽象图 五、红黑树的验证1. 检查平衡2. 计算高度与旋转次数3. 验证 六、 红黑树与AVL树的比较 …...

实验室没人导该怎么办

实验室没人教该怎么办 Q: 国内top5高校研一,课题开始老板就给了一个大方向,之后怎么做实验都是自己看文献研究的,终于开始动手做实验,才发现别人根本不想管你,宁愿抱着电脑看剧也不想教你,十分焦虑,该怎么办? A: 按照大多数实验室的惯例,老板一定会指派一个小老板…...

pytest简明教程

1. 简介 pytest是一款基于Python的测试框架。与Python自带的unittest相比,pytes语法更加简洁,断言更加强大,并且在自动测试以及插件生态上比unittest都要更加强大。 1.1. 安装pytest pip install pytest1.2. pytest命名规则 pytest默认会…...

解决方案:解决https页面加载http资源报错

HTTPS页面加载HTTP资源会报错的原因是出于安全性考虑。 HTTPS(HyperText Transfer Protocol Secure)是一种通过使用SSL/TLS加密通信来保护数据传输的协议,它确保了客户端和服务器之间的安全连接。 当HTTPS页面尝试加载非加密的HTTP资源时&a…...

嵌入式开源库之libmodbus学习笔记

socat 安装sudo apt-get install socat创建终端 socat -d -d pty,b115200 pty,b115200查看终端 ls /dev/pts/ minicom 安装 sudo apt-get install minicom链接虚拟终端 sudo minicom -D /dev/pts/3以十六进制显示 minicom -D /dev/pts/1 -H设置波特率 minicom -D /dev/pts/1…...

Spring MVC 中的数据验证技术

一、前言 在Web开发中,数据验证是不可或缺的一部分。Spring MVC 框架提供了强大的数据验证支持,可以帮助我们轻松地对用户提交的数据进行验证。 二、实现 Spring MVC 使用 JSR-303 验证规范(Hibernate Validator 是其参考实现)…...

windows 修改hosts映射,可以ping通,但是无法通过http url 路径访问,出现 500 Internal Privoxy Error

问题描述 今天在学习nginx时,想在hosts配置一个nginx的域名映射,但是发现访问nginx服务的ip时可以访问通,在dos命令窗口ping配置的域名映射也可以ping通,但是一旦在浏览器通过http请求访问配置的hosts域名映射时却出现 500 Inter…...

如何将图片转为ico格式

这里主要是记录一个网站,如果你有更好的办法欢迎留言~ ico简介 ICO(Icon)是一种用于表示图标的文件格式,常用于Windows操作系统中。ICO格式的图片通常用于表示应用程序、文件夹、网站等的图标。 ICO文件可以包含多个图标&#x…...

ElasticSearch - 基于 JavaRestClient 操作索引库和文档

目录 一、RestClient操作索引库 1.1、RestClient是什么? 1.2、JavaRestClient 实现创建、删除索引库 1.2.1、前言 1.2.1、初始化 JavaRestClient 1.2.2、创建索引库 1.2.3、判断索引库是否存在 1.2.4、删除索引库 1.3、JavaRestClient 实现文档的 CRUD 1.3…...

【人脸质量评估】MagFace:一个既可以用作人脸识别,又可以用作人脸质量评估的方法

论文题目:《MagFace: A Universal Representation for Face Recognition and Quality Assessment》-CVPR2021 论文地址:https://arxiv.org/abs/2103.06627v4 代码地址:https://github.com/IrvingMeng/MagFace...

FPGA 图像缩放 千兆网 UDP 网络视频传输,基于RTL8211 PHY实现,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐UDP视频传输--无缩放FPGA图像缩放方案我这里已有的以太网方案 3、设计思路框架视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 UDP协议栈UDP视频数据组包U…...

智能驾驶、智能家居、智能工业中的 AI 关键基础设施,半导体厂商恩智浦的角色是什么?

我们来看一条七年前的真实新闻报道,2016 年《福布斯》在报道中提到“2020 年会有 1000 万台的自动驾驶汽车”。然而 2023 年的现在,真正实现 L4 级别自动驾驶的汽车,仍然远远没有达到这个预测的数量。 另一边,数据显示&#xff0c…...

APScheduler包——python tornado框架中实现定时任务

介绍: APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时&#xf…...

BASH shell脚本篇3——字符串处理

这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型,它用于表示文本而不是数字,它是一组可能…...

【SSL】用Certbot生成免费HTTPS证书

1. 实验背景 服务器:CentOS7.x 示例域名: www.example.com 域名对应的web站点目录: /usr/local/openresty/nginx/html 2. 安装docker # yum -y install yum-utils# yum-config-manager --add-repo https://download.docker.com/linux/ce…...

报错:java.sql.SQLSyntaxErrorException: Table ‘examsys.Teacher’ doesn’t exist

Linux大小写区分,导致部署项目时MySQL出现错误 问题原因:找不到Teacher这张表。因为在windows下的mysql表名不区分大小写,所以在windows下运行项目没问题。在linux中,mysql会区分大小写,所以sql语句表名用大写的就会找…...

.NET的PLC帮助类

TCP和UDP协议: TCP(传输控制协议)和UDP(用户数据报协议)是TCP/IP协议簇中的两种核心协议。它们在传输层上提供数据传输服务,但具有不同的特性和功能。 TCP协议是一种提供可靠、面向连接的字节流服务的传输协…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...