哈喽小伙伴们好,我是Stark-C~
我记得前些天给大家分享了一个在NAS上部署的私有化文件转换服务器『Morphos』。
功能虽说强大,但是对于中文的文档格式转换,特别是打工人经常用到的PDF转换非常不友好,所以一直意难平~
网上虽说也有很多线上PDF工具可用,但是抛开隐私和文件安全方面的问题不说,要么广告每天飞,要么最关键的功能需要付费,体验很不好。
不过在后来的几天里,我终于找到一个非常强大且免费的PDF处理工具,它可以说是近乎全能,并且同样可以部署在本地,完全不用担心安全方面的问题。它便是我今天为大家分享的Stirling-PDF。
关于Stirling-PDFStirling-PDF是一个可以托管在本地上的免费开源PDF操作工具,它功能非常强大,可以以近乎全能的方式对PDF 文件执行各种操作,包括拆分、合并、转换、重组、添加图像、旋转、压缩等,并且还支持很多付费PDF工具还不支持的OCR扫描功能,最主要的是,该程序原生支持中文,再也不用使用过程中会出现中文乱码的问题,绝对可以称得上是我们打工人的效率神器!
同样的,部署之前咱们也可以根据作者给出的demo在线体验(用户名/密码:demo):https://stirlingpdf.io/
Stirling-PDF更具体的功能我这里直接引用了官方页面叙述:
页面操作:
查看和修改 PDF - 通过自定义查看、排序和搜索查看多页 PDF。加上页面编辑功能,如注释、绘制和添加文本和图像。(将 PDF.js 与 Joxit 和 Liberation.Liberation 字体一起使用)
用于合并/拆分/旋转/移动 PDF 及其页面的完整交互式 GUI。
将多个 PDF 合并到一个生成的文件中。
将 PDF 拆分为指定页码的多个文件,或将所有页面提取为单个文件。
将 PDF 页面重新组织为不同的顺序。
以 90 度的增量旋转 PDF。
删除页面。
多页布局(将 PDF 格式化为多页页面)。
按设置百分比缩放页面内容大小
调整对比度。
裁剪 PDF。
自动拆分 PDF(使用物理扫描的页面分隔符)。
提取页面。
将 PDF 转换为单个页面。
转换操作:
将 PDF 与图像相互转换。
将任何通用文件转换为 PDF(使用 LibreOffice)。
将 PDF 转换为 Word/Powerpoint/其他(使用 LibreOffice)。
将 HTML 转换为 PDF。
URL 到 PDF。
Markdown 转换为 PDF。
安全与权限:
添加和删除密码。
更改/设置 PDF 权限。
添加水印。
对 PDF 进行认证/签名。
清理 PDF。
自动编辑文本。
其他操作:
添加/生成/写入签名。
修复 PDF。
检测并删除空白页。
比较 2 个 PDF 并显示文本差异。
将图像添加到 PDF。
压缩 PDF 以减小其文件大小(使用 OCRMyPDF)。
从 PDF 中提取图像。
从扫描中提取图像。
添加页码。
通过检测PDF标题文本自动重命名文件。
PDF 上的 OCR(使用 OCRMyPDF)。
PDF/A 转换(使用 OCRMyPDF)。
编辑元数据。
拼合 PDF。
获取 PDF 上的所有信息以查看或导出为 JSON。
Stirling-PDF部署需要说明的是,Stirling-PDF根据不同的需求提供了两种不同的Docker镜像:完整版和超精简版。各镜像之间除了大小上的差别,功能会不一样:
支持的操作
超精简版
完整版
添加页码
✔️
✔️
添加密码
✔️
✔️
添加图像
✔️
✔️
添加水印
✔️
✔️
调整对比度
✔️
✔️
自动拆分pdf
✔️
✔️
自动编辑
✔️
✔️
自动重命名
✔️
✔️
证书签名
✔️
✔️
作物
✔️
✔️
更改元数据
✔️
✔️
更改权限
✔️
✔️
比较
✔️
✔️
extract-page
✔️
✔️
提取图像
✔️
✔️
扁平 化
✔️
✔️
获取信息PDF
✔️
✔️
img-转pdf
✔️
✔️
降价转 PDF
✔️
✔️
合并-PDF
✔️
✔️
多页面布局
✔️
✔️
叠加-PDF
✔️
✔️
pdf-组织者
✔️
✔️
pdf-转csv
✔️
✔️
pdf转IMG
✔️
✔️
PDF转单页
✔️
✔️
删除页面
✔️
✔️
删除密码
✔️
✔️
旋转-pdf
✔️
✔️
SANITIZE-PDF格式
✔️
✔️
缩放页
✔️
✔️
标志
✔️
✔️
show-javascript
✔️
✔️
按大小或计数拆分
✔️
✔️
拆分-PDF
✔️
✔️
拆分-PDF
✔️
✔️
压缩-PDF
✔️
提取图像扫描
✔️
OCR-PDF格式
✔️
pdf-转-pdfa
✔️
删除空白
✔️
本篇教程我直接以支持最全的完整版为大家演示。
先打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【Stirling-PDF】,然后在 Stirling-PDF文件夹中再分别新建四个子文件夹trainingData、extraConfigs、customFiles、logs。
然后使用SSH终端工具连接到NAS之后先启用root模式(“ sudo -i ”),输入以下Docker run多行命令(请注意,张大妈编辑器会删掉每行命令后面的反斜杠)并回车即可:
docker run -d \
--name Stirling-PDF \
-p 8080:8080 \
-v /opt/trainingData:/usr/share/tessdata \
-v /opt/extraConfigs:/configs \
-v /opt/customFiles:/customFiles/ \
-v /opt/logs:/logs/ \
-e DOCKER_ENABLE_SECURITY=true \
-e SECURITY_ENABLELOGIN=true \
-e SECURITY_INITIALLOGIN_USERNAME=stark \
-e SECURITY_INITIALLOGIN_PASSWORD=stark \
-e UI_APPNAME='Stark-C PDF' \
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
-e SYSTEM_DEFAULTLOCALE=zh_CN \
frooodle/s-pdf:latest
以上命令需要说明的地方为:
-p 8080:8080 -->号前面改为本地没被占用端口;-v /opt/trainingData:/usr/share/tessdata -->冒号前面映射我们前面新建“trainingData”子文件夹的本地实际路径;-v /opt/extraConfigs:/configs -->冒号前面映射我们前面新建“extraConfigs”子文件夹的本地实际路径;-v /opt/customFiles:/customFiles/ -->冒号前面映射我们前面新建“customFiles”子文件夹的本地实际路径;-v /opt/logs:/logs/ -->冒号前面映射我们前面新建“logs”子文件夹的本地实际路径;-e SECURITY_INITIALLOGIN_USERNAME=stark -->Web端登录账号,自行设置;-e SECURITY_INITIALLOGIN_PASSWORD=stark -->Web端登录密码,自行设置;-e UI_APPNAME='Stark-C PDF' -->Web端显示名称,自行设置或者咱们也可以直接使用docker-compose部署:
version: '3.9'services: stirling-pdf: image: frooodle/s-pdf:latest container_name: Stirling-PDF ports: - '8080:8080' volumes: - /opt/trainingData:/usr/share/tessdata # OCR 语言支持 - /opt/extraConfigs:/configs - /opt/customFiles:/customFiles/ - /opt/logs:/logs/ environment: DOCKER_ENABLE_SECURITY: true # 启用内部安全功能 SECURITY_ENABLELOGIN: true # 启用登录功能 SECURITY_INITIALLOGIN_USERNAME: stark # 登录账户 SECURITY_INITIALLOGIN_PASSWORD: stark # 登录密码 UI_APPNAME: Stark-C PDF # 导航页标题 INSTALL_BOOK_AND_ADVANCED_HTML_OPS: false SYSTEM_DEFAULTLOCALE: zh_CN # 默认中文将修改好的docker-compose.yml文件放到NAS任意文件夹内,然后运行以下命令即可:
#进入文件夹cd 文件夹实际路径#启动容器docker-compose up -dStirling-PDF体验直接在浏览器中输入 【http:// NAS的局域网IP:端口号】 就能打开容器界面。
因为我们部署的时候设置了默认账户和密码,所以这里咱们直接以我们设置的账户和密码登录即可。
以上是它完整的功能。
随意拿来一个PDF可以直接打开并编辑。
尝试将我创作的Markdown转PDF也是完全没问题。
我最常用的PDF转为PPT竟然也完美支持。
至于OCR扫描,我们需要先去官方页面下载支持的中文语言,然后将下载好的chi_sim.traineddata中文语言包上传到trainingData子文件即可。
之后我们打开ORC 界面就能看到中文识别选项了。
最后总的来说,Stirling-PDF是一款非常强大的全能PDF处理工具,开源免费的同时,还非常重视使用者的隐私和文件安全,对于日常需要处理PDF相关文件的打工人来说,Stirling-PDF绝对可以满足你各种需求,非常值得体验!
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~