Stirling-PDF:一款优秀的开源PDF处理工具

最近我的朋友大雄需要将一个PDF转换为Word文档。于是他在网上尝试了多个PDF转换的在线工具,但要么需要会员,要么需要登录等繁琐操作,而且我们的文件也存在泄漏等安全隐患。因此,他向我咨询是否有可私有化部署且易于使用的PDF在线工具。大雄平时也喜欢制作PPT,每当有灵感时就会创建超过60多页的ppt演示文稿。

最近我在GitHub上闲逛时,恰好发现了一个名为Stirling-PDF的项目,该项目已经获得了3.3k的星标,完全符合他的所有需求。从此,他便可以放心地转换自己的那些超长私密的PPT了。今天,我们就来分享一下这个项目,并介绍如何使用Docker Compose进行私有化部署。

storlingpdf.jpg

Stirling-PDF项目介绍

github地址: https://github.com/Frooodle/Stirling-PDF

_20231014225022.jpg

Stirling-PDF是一个基于spring-boot开发的开源项目,旨在提供一个功能强大的基于Docker的本地托管PDF操作工具。它使您能够对PDF文件进行多种操作,包括拆分、合并、转换、重新组织、添加图片、旋转、压缩等。该本地托管应用最初由ChatGPT完全开发,并已发展成一个功能齐全的工具,可满足您的各种PDF需求。

Stirling-PDF不会进行任何外部调用来进行记录或跟踪。

所有文件和PDF要么完全在客户端处理,要么在任务执行期间仅存在于服务器内存中,要么仅在任务执行期间存在于临时文件中。任何用户下载的文件在这个时候都已从服务器上删除。

项目功能:基本涵盖了我们常用的对pdf的所有操作

_20231014231217.jpg

_20231014231236.jpg

docker-compose 私有化部署

我们此处使用的镜像是作者给我们提供好的,如果家人们需要最新代码镜像的话可以根据作者在项目中给我们提供好的Dockerfile文件自行构建。

首相我们要创建docker-compose.yml文件

version: '3.3'
services:stirling-pdf:image: frooodle/s-pdf:latestports:- 8070:8080volumes:- ./trainingData:/usr/share/tesseract-ocr/4.00/tessdata#Required for extra OCR languages- ./extraConfigs:/configs- ./customFiles:/customFiles/environment:- DOCKER_ENABLE_SECURITY=false

创建好之后我们只需要在docker-compose.yml的同级目录下执行如下启动命令

docker-compose up -d 

启动之后查看日志

docker-compose logs -f 

_20231014230034.jpg

如此我们的项目则启动成功了

Stirling-PDF 项目访问

部署成功之后我们在浏览器中输入地址访问 http://192.168.10.105:8070

_20231014230545.jpg

我们可以修改语言为简体中文

_20231014230742.jpg

项目也提供了api

_20231014230942.jpg

_20231014230954.jpg

我们也使用了其中的一些功能,因为功能比较多,我们此处给只列举两个示例,其余功能家人们可自行使用

  • pdf 转word

_20231014231744.jpg

_20231014231927.jpg

转换好之后它会自动在浏览器中下载转换之后的文件,转换之后的文件如下:

_20231014232300.jpg

  • 添加水印

_20231014232426.jpg

_20231014232517.jpg

添加之后的效果:

_20231014232648.jpg

总结

总的来说,Stirling-PDF是一个基于Spring Boot开发的开源项目,为用户提供了强大的基于Docker的本地托管PDF处理工具。不论是拆分、合并、转换、重新组织、添加图片、旋转还是压缩等操作,Stirling-PDF都能轻松应对。该项目最初由ChatGPT全权开发,目前已发展成为一个功能完善且广泛应用的工具,满足用户的各种PDF处理需求。

值得一提的是,Stirling-PDF非常重视用户隐私和文件安全。它不会进行任何外部调用来记录或跟踪用户操作。所有文件和PDF要么完全在客户端处理,要么在任务执行期间仅存在于服务器内存中,要么仅在任务执行期间存在于临时文件中。这保证了用户在使用过程中的安全性和隐私保护。

借助Stirling-PDF,用户可以高效处理PDF文档,享受简单、快捷、安全的操作体验。尽管该项目在某些PDF处理方面存在一些小问题,但其持续更新和完善,我们期待着它能变得更加完善。

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

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

相关文章

orgChart.js组织架构图

OrgChart.js是什么? 基于ES6的组织结构图插件。 特征 支持本地数据和远程数据(JSON)。 基于CSS3过渡的平滑扩展/折叠效果。 将图表对齐为4个方向。 允许用户通过拖放节点更改组织结构。 允许用户动态编辑组织图并将最终层次结构保存为…

C# OpenVINO 人脸识别

效果 耗时 Preprocess: 1.41ms Infer: 4.38ms Postprocess: 0.03ms Total: 5.82ms 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Text; using Syste…

爬虫 | 正则、Xpath、BeautifulSoup示例学习

文章目录 📚import requests📚import re📚from lxml import etree📚from bs4 import BeautifulSoup📚小结 契机是课程项目需要爬取一份数据,于是在CSDN搜了搜相关的教程。在博主【朦胧的雨梦】主页学到很多…

EfficientDet: Scalable and Efficient Object Detection

CVPR2020 V7 Mon, 27 Jul 2020 引用量:243 机构:Google 贡献:1>提出了多尺度融合网络BiFPN 2>对backbone、feature network、box/class prediction network and resolution进行复合放缩,有着不同的…

Vmware Linux虚拟机安装教程(Centos版)

文章目录 1.Vmware-workstation安装软件2.双击下载的安装包开始安装3.打开VMware-workstation,输入密钥4.Centos7.6安装软件5.新建虚拟机6.为虚拟机配置映像文件7.开启虚拟机,配置环境7.1 Install Centos 77.2 选择简体中文字体7.3 软件选择7.4 安装位置…

Python 字典

目录 1 字典介绍2 字典的创建3 字典元素的访问4 字典元素添加、修改、删除5 序列解包6 表格数据使用字典和列表存储,并实现访问7 字典核心底层原理(重要)7.1 将一个键值对放进字典的底层过程7.2 扩容7.3 根据键查找“键值对”的底层过程7.4 用法总结: 声…

Linux 系统安装 Redis7 —— 超详细操作演示!

内存数据库 Redis7 一、Redis 概述1.1 Redis 简介1.2 Redis 的用途1.3 Redis 特性1.4 Redis 的IO模型 二、Redis 的安装与配置2.1 Redis 的安装2.2 连接前的配置2.3 Redis 客户端分类2.4 Redis 配置文件详解 三、Redis 命令四、Redis 持久化五、Redis 主从集群六、Redis 分布式…

【C++基础】10. 指针

文章目录 【 1. 指针的定义 】【 2. 指针的调用 】【 3. NULL 空指针 】【 4. 指针的算术运算 】4.1 指针的递加4.2 指针的递减4.3 指针的比较 【 5. 指针与数组 】5.1 通过指针操作数组5.2 指针数组、数组指针 【 6. 指向指针的指针(多级间接寻址)】【 7. 传递指针给函数 】【…

B树、B+树详解

B树 前言   首先,为什么要总结B树、B树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/Tree作为索引结构(例如mysql的InnoDB引擎使用的B树),理解不透彻B树,则无法理解数据…

Ubuntu 23.10 Beta 镜像开放下载

导读Canonical放出了 Ubuntu 23.10 Beta 镜像,此外 Edubuntu、Kubuntu、Lubuntu、Ubuntu Budgie、Ubuntu Cinnamon、Ubuntu Kylin、Ubuntu MATE、Ubuntu Studio、Ubuntu Unity 和 Xubuntu 等风味版本也同步放出镜像。 近日消息,Canonical 放出了 Ubuntu …

LoRA 是如何工作的?

概述 纯笔记 LoRA的原理 LoRA其实是对稳定扩散模型最关键的部分进行了微小的改变。 这个关键的部分叫:cross-attention layers – 交叉注意力层。 研究人员发现,对这关键部分进行微调就足以实现良好的训练。 上面黄色部分,QKV 部分就是&a…

K8S:Rancher管理 Kubernetes 集群

文章目录 一.Rancher 简介1.Rancher概念2.Rancher 和 k8s 的区别 二.Rancher 安装及配置1.安装 rancher2.登录 Rancher 平台3.Rancher 管理已存在的 k8s 集群4.Rancher 部署监控系统5.使用 Rancher 仪表盘管理 k8s 集群 三.拓展1.Rancher和kubesphere相比较2.K3S和K8S相比较 一…

Opencv——颜色模型+通道分离与合并

视频加载/摄像头调用 VideoCapture允许一开始定义一个空的对象 VideoCapture video VideoCapture(const String &filename,int apiPreferenceCAP_ANY) filename:读取的视频文件或者图像序列名称 apiPreference:读取数据时设置的属性,例如编码格式、是否调用Op…

转化限制+分析变量变化引起的答案变化:Gym - 104065D

https://vjudge.net/contest/587311#problem/H 先转化一波条件: p i ≥ 1 X p_i\ge \frac 1 X pi​≥X1​ p i ≤ 1 1 − Y p_i\le \frac 1 {1-Y} pi​≤1−Y1​ 所以我们按 p p p 排序, s u m x sum_x sumx​ 必然是后缀, s u m y sum_y …

线性回归原理

1、 线性回归的原理 1.1 线性回归应用场景 房价预测 销售额度预测 金融:贷款额度预测、利用线性回归以及系数分析因子1.2 什么是线性回归 1.2.1定义与公式 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的…

VMware和Debian下载

文章目录 ⭐️写在前面的话⭐️一、VMware二、Debain三、建立虚拟机🚀 先看后赞,养成习惯!🚀🚀 先看后赞,养成习惯!🚀 ⭐️写在前面的话⭐️ CSDN主页:程序员好冰 目前在…

模型UV纹理设置工具

1、什么是模型UV纹理? 模型的UV纹理是将二维纹理图映射到三维模型表面的过程。UV纹理可以为模型赋予颜色、纹理、细节和其他效果,使其看起来更加逼真。 2、UV纹理的原理 下面是模型UV纹理的详细原理介绍: UV坐标系统:UV坐标系统…

乐器经营商城小程序的作用是什么

乐器产品覆盖的人群非常广,小学生、老年人都有不小需求,也因此市场中的从业商家相对较多,产品丰富可供消费者选购,然而在实际经营中,线上线下面临痛点不少。 通过【雨科】平台搭建乐器小程序商城,将所有产品…

DarkGate恶意软件通过消息服务传播

导语 近日,一种名为DarkGate的恶意软件通过消息服务平台如Skype和Microsoft Teams进行传播。它冒充PDF文件,利用用户的好奇心诱使其打开,进而下载并执行恶意代码。这种攻击手段使用了Visual Basic for Applications(VBA&#xff0…

JavaSE学习值之--认识异常

💕"有效知识的前提是承认知识边界,承认我们对边界那边的一切无可奉告。"💕 作者:Mylvzi 文章主要内容:JavaSE学习值之--认识异常 一.什么是异常? 异常就是程序在运行的时候产生的不正常的行为 …