PDF处理新纪元:零成本开源解决方案

发表时间: 2024-11-08 11:23

发现一个宝藏开源的PDF处理项目:Stirling, 可以本地部署的一站式服务,能够满足您的所有PDF需求。包括:压缩、合并、拆分、转换、裁剪和解锁PDF文件,以及给PDF文件添加水印,高级版本的流水线工具等。

先上图,直观感受下它的强大!

PDF 功能列表

怎么样,功能齐全,非常专业了吧,关键是可以本地一键部署,所有功能完全免费!

看了下网络上目前能够搜到类似pdf工具站点,具体功能大同小异,不外乎页面有些优化,免费版本增加了一些人为的限制,比如处理文件数量上,pdf大小限制等,如果免费版本只让处理小于5M的pdf文件的话,那基本也没啥太大意义了。

看看网络上的 [免费 | 收费] 工具:

限制大小5M

好吧,如果想搭建自己的PDF工具服务,请继续往下看,现在带您亲身体验下如何在本地搭建全能的PDF服务,以及具体的功能和使用体验:

开源地址:https://github.com/Stirling-Tools/Stirling-PDF

所需环境:

  • Client: Docker Engine - Community Version: 26.1.2
  • Docker Compose version v2.27.0

启动服务

$ docker compose up -d

这里会自动下载 frooodle/s-pdf:latest 镜像

启动之后会下载一些依赖包

启动完成

然后就可以使用浏览器登录页面了,我的做了端口映射,8080转到了3230,

访问地址: http://yourIP:3230/

下面进行功能演示:

只打开pdf没啥技术含量,先试试pdf压缩吧,我原始pdf文件大小46.9M,看看能压缩到啥水平,这里分1-4,四个压缩级别

我试过了2,和3两个级别,压缩后的文件大小分别是18.6M(2级),4.9M(3级)

从46.9M到4.9M,这压缩比不错哈,再看看压缩效果吧

未压缩

3级压缩

怎么样,文本就不算了,这图片质量光凭肉眼基本很难看出大的差别。

第二试,这回来个添加水印试试

添加的水印为文字方式:“我就是一个普通水印!”,看效果

处理水印

效果

加上了哦,就是比较丑,当然还可以使用图片水印,能够美化一下水印效果。

第三试:流水线(高级功能)

我这里新建一个流水线,包含了2个操作步骤:

  1. 删除pdf第一页
  2. 压缩pdf

配置好的流水线可以保存到浏览器或者保存到本地,Json格式

流水线演示

流水线可以上传刚才保存的Json文件,选择好原始PDF之后,就可以跑这个流程了。

看看后台具体做了啥操作吧,具体命令行和日志如下:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=/tmp/output_4356453516043777928.pdf /tmp/input_4314709744146586766.pdf

Docker log

最后我们看看效果吧,第一页pytorch的封面已经没有了,然后文件大小变成了4.9M

最后的效果

4.9M pdf

Stirling还有很多功能,这里我就不再一一演示了,反正目前网络上关于PDF处理的(包括免费和收费)的功能,这个开源项目基本都有,而且不会造成个人隐私数据的泄漏,完全在本地进行处理完成。

总之,这个这个45k start的开源项目真的很赞,感谢!

再有就是那些拿着开源项目稍加改动(比如:Nginx增加client_max_body_size 5M简单限制一下)超过大小就要收费的国人们,感觉到害臊和脸红不?

github 45kstart

(本文完)