一款允许使用Docker部署本地托管的、基于 Web 的 PDF 操作工具

大家好,今天给大家分享的是一个基于Spring Boot开发的开源项目,旨在提供一个功能强大的基于Docker的本地托管PDF操作工具Stirling PDF。

项目介绍

Stirling-PDF是一个全面的PDF工具箱,适用于个人和企业用户,尤其对于那些重视数据隐私和需要在本地环境中处理敏感文档的场景非常适用。

系统功能

  • 深色模式支持。
  • 自定义下载选项
  • 并行文件处理和下载
  • 用于与外部脚本集成的 API
  • 可选的登录和身份验证支持
  • 数据库备份和导入

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 有 3 个不同的版本:完整版本、超精简版以及"胖"版本。根据您使用的功能类型,您可能需要较小的图像以节省空间。对于不介意空间优化的人,只需使用最新的标签。

请注意,在下面的示例中,您可能需要根据需要更改卷路径,当前示例将它们安装到当前工作目录,例如 ./extraConfigs:/configs 到 /opt/stirlingpdf/extraConfigs:/configs

Docker Run

复制代码
docker run -d \
  -p 8080:8080 \
  -v ./trainingData:/usr/share/tessdata \
  -v ./extraConfigs:/configs \
  -v ./logs:/logs \
  -e DOCKER_ENABLE_SECURITY=false \
  -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
  -e LANGS=en_GB \
  --name stirling-pdf \
  frooodle/s-pdf:latest

  也可以添加这些进行定制,但不是必需的

  -v /location/of/customFiles:/customFiles \

Docker Compose

复制代码
version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080'
    volumes:
      - ./trainingData:/usr/share/tessdata #Required for extra OCR languages
      - ./extraConfigs:/configs
#      - ./customFiles:/customFiles/
#      - ./logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
      - LANGS=en_GB

如果你想支持OCR相关功能,请阅读如何集成ORC功能。

使用截图

URL转PDF

压缩PDF

合并PDF

PDF转Word

PDF添加水印

比较PDF

项目地址

复制代码
https://github.com/Stirling-Tools/Stirling-PDF

一款允许使用Docker部署本地托管的、基于 Web 的 PDF 操作工具 - BTool博客 - 在线工具软件,为开发者提供方便

相关推荐
骑着蜗牛撵大象3271 分钟前
ToolJet + PostgreSQL:后台表格、查询和流程,一次搭成可远程访问的业务系统
数据库·低代码·docker·postgresql·内部工具·tooljet
flytalei1 小时前
从 Docker Compose 到 K3s:逐浪笔记首次完整部署与故障排查实战
笔记·docker·容器
吴声子夜歌2 小时前
Docker入门与实战——高级网络功能
网络·docker
JavaPub-rodert11 小时前
Docker 日志为什么能把磁盘写爆?讲透 json-file、local、journald、日志轮转与 docker logs
docker·eureka·json
人生匆匆12 小时前
docker部署ceph集群
ceph·docker·容器
张张123y15 小时前
后端第九课:部署上线(把你的 FastAPI 后端真正跑起来给别人用)
python·docker·部署·fastapi
AscendKing19 小时前
Docker Compose 一键部署 SkyWalking 10.2.0 + Elasticsearch8.11,分布式链路追踪完整实战
elasticsearch·docker·skywalking·链路追踪·微服务监控
励志师code19 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet
ydjs678899-bot20 小时前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
木雷坞20 小时前
Docker Compose部署Metabase:应用库隔离与日期筛选看板
运维·docker·容器