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

2023-10-15 05:52

本文主要是介绍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/215769

相关文章

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

redis-cli命令行工具的使用小结

《redis-cli命令行工具的使用小结》redis-cli是Redis的命令行客户端,支持多种参数用于连接、操作和管理Redis数据库,本文给大家介绍redis-cli命令行工具的使用小结,感兴趣的... 目录基本连接参数基本连接方式连接远程服务器带密码连接操作与格式参数-r参数重复执行命令-i参数指定命