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

2023-10-16 04:45

本文主要是介绍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处理方面存在一些小问题,但其持续更新和完善,我们期待着它能变得更加完善。

这篇关于Stirling-PDF:一款优秀的开源PDF处理工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219137

相关文章

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

Python处理函数调用超时的四种方法

《Python处理函数调用超时的四种方法》在实际开发过程中,我们可能会遇到一些场景,需要对函数的执行时间进行限制,例如,当一个函数执行时间过长时,可能会导致程序卡顿、资源占用过高,因此,在某些情况下,... 目录前言func-timeout1. 安装 func-timeout2. 基本用法自定义进程subp

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka