当前位置: 首页 > news >正文

【实用工具】Stirling-PDF: 优质开源的PDF处理工具/编辑工具-含入门安装教程

文章目录

  • 项目简介
  • 功能展示
    • Page Operations 页面操作
    • Conversion Operations 转换操作
    • Security & Permissions 安全与权限
    • Other Operations 其他业务
  • 如何安装并使用
    • Docker Run
    • Docker Compose

项目简介

这是一款使用 Docker 的基于本地托管网络的强大 PDF 操作工具。它能让你在 PDF 文件上执行各种操作,包括分割、合并、转换、重组、添加图像、旋转、压缩等。这个本地托管的网络应用程序已发展到包含一套全面的功能,可满足您对 PDF 的所有要求。

所有文件和 PDF 要么完全存在于客户端,要么仅在任务执行期间存在于服务器内存中,要么仅在任务执行期间暂时存在于文件中。此时,用户下载的任何文件都已从服务器中删除。

由于项目是英文的,博主在这里做一版中文教程,给后来人一些参考。
关注CSDN心若为城,获得计算机领域与人工智能领域的前沿技术。
博主碎碎念,可跳过:
打算重新做做自己这个老号,高中时候开始做CSDN,那会儿写的是NOIP/NOI相关的算法东西,纯粹是写给自己看的;现在时隔多年,我也在清华站稳了脚跟,在互联网开发和量化交易领域都算是小有成就了。

接下来这个号(也许也不止这个号)应该会做三个方向:
AI新技术(或者不局限于AI)的抢先浏览,会向大家说明当下热点论文、热点技术的部署等,以及做一些周报或者日报。(类似于AI Weekly)
量化交易相关,我在量化开发技术栈有着多年的开发经验,也拿过一些投资比赛的奖项。可以面向应届生给出就业规划,提供一些指导的同时分享一些含金量高的项目。
互联网面试相关,我应该会着重于分享一些面试的底层技术面,并且尽可能和2进行一些结合,让大家同时能handle住两边的技术。


功能展示

想要下载release版本,点这里
这是界面示例:
在这里插入图片描述

Page Operations 页面操作

  1. 查看和修改 PDF - 通过自定义查看排序和搜索功能查看多页 PDF。此外还有页面编辑功能,如注释、绘图、添加文本和图像。(将 PDF.js 与 Joxit 和 Liberation.Liberation 字体结合使用)
  2. 完全交互式图形用户界面,用于合并/分割/旋转/移动 PDF 文件及其页面。
  3. 将多个 PDF 文件合并为一个结果文件。
  4. 按指定页码将 PDF 文件分割成多个文件,或将所有页面提取为单独文件。
  5. 将 PDF 页面重组为不同的顺序。
  6. 以 90 度为增量旋转 PDF 文件。
  7. 删除页面。
  8. 多页布局(将 PDF 格式化为多页)。
  9. 按设定的百分比缩放页面内容大小。
  10. 调整对比度。
  11. 剪裁PDF。
  12. 自动分割 PDF(使用物理扫描的分页符)。
  13. 将 PDF 转换为单页。

Conversion Operations 转换操作

  1. 将 PDF 转换成图像或从图像转换成 PDF。
  2. 将任何普通文件转换为 PDF(使用 LibreOffice)。
  3. 将 PDF 转换为 Word/Powerpoint/其他文档(使用 LibreOffice)。
  4. 将 HTML 转换为 PDF。
  5. URL 转 PDF。
  6. 将 Markdown 转换为 PDF。

Security & Permissions 安全与权限

  1. 添加和删除密码
  2. 更改/设置 PDF 权限
  3. 添加水印。
  4. 认证/签署 PDF
  5. 对 PDF 文件进行杀毒
  6. 自动删节文本

Other Operations 其他业务

  1. 添加/生成/写入签名。
  2. 修复 PDF。
  3. 检测并删除空白页
  4. 比较两个 PDF 文件并显示文本差异。
  5. 为 PDF 添加图像
  6. 压缩 PDF 文件以减小其文件大小(使用 OCRMyPDF)。
  7. 从 PDF 中提取图像
  8. 从扫描中提取图像
  9. 添加页码。
  10. 通过检测 PDF 标题文本自动重命名文件。
  11. OCR on PDF(使用 OCRMyPDF)。

    还有很多功能博主感觉不是很常用,因此就先介绍到这里啦~
    想要查看Demo,可以访问这个网址进行访问。

如何安装并使用

我们使用Docker进行安装部署,来节约大家的时间。
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:latestCan also add these for customisation but are not required-v /location/of/customFiles:/customFiles \

Docker Compose

version: '3.3'
services:stirling-pdf:image: frooodle/s-pdf:latestports:- '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

通过Docker Run, 我们就跑起来整个PDF工具啦~祝大家玩的开心。最后,关注CSDN心若为城,获得计算机领域与人工智能领域的前沿技术。

相关文章:

【实用工具】Stirling-PDF: 优质开源的PDF处理工具/编辑工具-含入门安装教程

文章目录 项目简介功能展示Page Operations 页面操作Conversion Operations 转换操作Security & Permissions 安全与权限Other Operations 其他业务 如何安装并使用Docker RunDocker Compose 项目简介 这是一款使用 Docker 的基于本地托管网络的强大 PDF 操作工具。它能让…...

opencv 深度图视差图可视化案例

参考:https://www.cnblogs.com/zyly/p/9373991.html(图片这里面下载的) https://blog.csdn.net/He3he3he/article/details/101053457 原理 双目摄像头 视差公式: 三角形对应推算 深度距离转换: 这里d是视差Disparity 代码 下面两种计算视差方法: import os impor…...

Golang | Leetcode Golang题解之第330题按要求补齐数组

题目&#xff1a; 题解&#xff1a; func minPatches(nums []int, n int) (patches int) {for i, x : 0, 1; x < n; {if i < len(nums) && nums[i] < x {x nums[i]i} else {x * 2patches}}return }...

算法训练(leetcode)第五十二天 | Bellman_ford 队列优化算法(SPFA)、BF算法判断负回路、BF之单源有限最短路(有负回路)

刷题记录 94. 城市间货物运输 I-Bellman_ford 队列优化算法&#xff08;SPFA&#xff09;95. 城市间货物运输 II-BF算法判断负回路96. 城市间货物运输 III-BF之单源有限最短路(有负回路) 94. 城市间货物运输 I-Bellman_ford 队列优化算法&#xff08;SPFA&#xff09; 题目地址…...

SpringBoot中整合RabbitMQ(测试+部署上线 最完整)

一、RabbitMQ安装 由于在测试环境中&#xff0c;我们现在虚拟机上基于docker安装mq docker run \-e RABBITMQ_DEFAULT_USERquick \-e RABBITMQ_DEFAULT_PASS123 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \--network your-net\-d \r…...

算法板子:线性DP——算出三角形中的最大路径值、求最长上升子序列、求最长公共子序列

目录 一、数字三角形——算出三角形中的最大路径值 二、最长上升子序列——求一个数组中的最长递增子序列 三、最长公共子序列——求两个字符串中的最长公共子序列 一、数字三角形——算出三角形中的最大路径值 #include <iostream> using namespace std;const int N …...

【C++】值传递

函数值传递的特点&#xff1a;值传递过程中即使形参改变也不会改变实参 没有返回值的函数用“ void ”定义 下面是一个实例&#xff1a; #include<iostream> using namespace std;//值传递 //定义函数&#xff0c;实现两个数字进行交换函数//如果函数不需要返回值&…...

工业三防平板助力MES系统打造工厂移动式生产管理

随着工业4.0时代的到来&#xff0c;智能制造、数字化车间等概念层出不穷&#xff0c;生产过程的可视化管理也成为了企业提升效率、优化生产的关键。而工业三防平板&#xff0c;凭借其坚固耐用、功能强大、便携易用等特性&#xff0c;成为了实现生产过程可视化管理的重要利器&am…...

keepalived+nginx实现的简单高可用故障转移

keepalived和nginx和适配 nginx服务停止后对keepalived的影响最近研究了一下keepalived绑定虚拟Ip,然后实现集群的方案,发现实现故障转移的模式,只有在keepalived服务整个挂掉后才能实现虚拟IP的漂移,和实际应用的场景不怎么适配,所以把它和nginx结合在一起实现集群高可用…...

openai api使用

1OpenAI 的 API 介绍 1.1 api分类 常用的 OpenAI Api 接口总共分为 4 类&#xff1a;对话类、私有化模型训练类、通用类、图片 & 音频类&#xff0c;其中对话类与私有化模型训练类是最常用的。 a .对话类 这类是最常用也是最核心的接口&#xff0c;用于人机对话。对话类…...

带你走进haproxy的世界

华子目录 前言什么是负载均衡为什么用haproxy负载均衡负载均衡公司负载均衡类型四层负载均衡七层负载均衡四层和七层的区别 haproxy介绍haproxy的安装与服务信息软件安装haproxy基本配置信息proxies配置socat工具 haproxy算法静态算法动态算法其他算法 高级功能及配置基于cooki…...

STM32--中断使用(超详细!)

STM32中断机制是嵌入式系统设计中一个非常重要的组成部分&#xff0c;它允许单片机在执行程序的过程中&#xff0c;对外部或内部发生的事件做出快速响应。以下是一篇关于STM32中断机制的详细介绍和示例代码&#xff0c;希望能够帮助你更好地理解和应用中断。 一、中断的基本概…...

【深度学习实践】基于深度学习的图像去雾算法-ChaIR-实践

本文介绍一个去雾算法ChaIR的使用方法&#xff0c;可以完成图像去雾&#xff0c;也可以用于图像去雨、去噪音等任务。本文不涉及论文原理&#xff0c;只包含源代码的跑通和使用。 先展示一下效果&#xff1a; 原图去雾 论文&#xff1a;Exploring the potential of channel …...

《乳腺密度高的女性中,使用AI辅助的乳腺X线筛查与补充筛查超声的比较研究》| 文献速递-基于深度学习的乳房、前列腺疾病诊断系统

Title 题目 Screening Outcomes of Mammography with AI in Dense Breasts: A Comparative Study with Supplemental Screening US 《乳腺密度高的女性中&#xff0c;使用AI辅助的乳腺X线筛查与补充筛查超声的比较研究》 Background 背景 Comparative performance between…...

crm 销售管理系统有哪些?国内外排名前十盘点

本文深入对比的 crm销售管理系统有&#xff1a;1.纷享销客&#xff1b; 2.Zoho CRM&#xff1b; 3.销售易&#xff1b; 4.有赞CRM&#xff1b; 5.Salesforce&#xff1b; 6.HubSpot&#xff1b; 7.简道云CRM&#xff1b; 8.爱客CRM&#xff1b; 9.Apptivo。 如果你正寻找一种方…...

package-lock.json 要提交到git吗?

之前一直没有提交package-lock.json文件到git仓库&#xff0c;直到我打包失败了。。。 我才知道package-lock.json需要提交到‌git仓库。 ‌ npm官网建议将package-lock.json一起提交到代码库中&#xff0c;不要忽略它。‌ package-lock.json的主要作用是锁定dependencies的版…...

算法学习day32

一、解码方法II&#xff08;解码方法I的升级版&#xff09; 在I的基础上增加了*&#xff0c;可以代替1-9中任意一个数字&#xff0c;求解码的方法有多少种 输入&#xff1a;s "*" 输出&#xff1a;9 解释&#xff1a;这一条编码消息可以表示 "1"、"…...

知识与智慧

前两天在medium上看到一篇文章&#xff0c;探讨知识&#xff08;knowledge&#xff09;和智慧&#xff08;wisdom&#xff09;之间的区别&#xff0c;很受启发&#xff0c;结合自己的经历和理解&#xff0c;形成此文&#xff1a; 何为知识 知识通常指的是信息的积累和对特定领…...

使用FFmpeg实现摄像头RTMP实时推流

在当今的数字时代,视频直播已成为连接人与人之间的重要桥梁,广泛应用于在线教育、远程会议、娱乐直播等多个领域。随着技术的不断进步,人们对于直播的实时性、稳定性和高质量需求日益增加。为了实现高效的视频直播,选择合适的工具和协议至关重要。 RTMP(Real-Time Messagi…...

使用 LabVIEW 编程更改 IMAQ/IMAQdx 接口的相机文件

问题详情 可能需要通过编程方式更改与 IMAQ/IMAQdx 接口关联的相机文件。这种需求通常发生在图像采集系统中&#xff0c;例如使用 PCIe-1433 硬件时&#xff0c;可能需要动态切换不同的相机配置文件来适应不同的应用场景。 解决方案 当前在 Measurement & Automation Ex…...

[后端代码审计] PHP 基础学习

文章目录 前言1. 基础语法1 .1 注释1 .2 分隔符 2. 变量与常量2 .1 变量2 . 1 .1 变量定义2 . 1 .2 变量释放 2 .2 常量2 . 2 .1 常量定义2 . 2 .2 预定义常量 3. 运算符3. 1 算数运算符3 .2 字符串运算符3 .3 赋值运算符3 .4 比较运算符3 .5 逻辑运算符3 .6 其他运算符 4. 流程…...

【OpenCV C++20 学习笔记】直方图计算-split, calcHist, normalize

直方图计算-split, calcHist, normalize 广义直方图示例目标分离通道计算直方图绘制计算结果归一化绘制 最终结果 广义直方图 直方图的横坐标除了可以是图片中的强度值&#xff0c;也可以是任何其他我们想要观察的特征。例如&#xff0c;下面的图片矩阵中包含了0-255的强度值&…...

js入门经典学习小结

简介 js是解释型语言&#xff0c;虽然名字有java&#xff0c;但和java&#xff0c;c等编译型语言不同&#xff0c;它是解释型的&#xff0c;类似perl&#xff0c;py 历史 90年代最早js 1.0版本是网景navigator2引入的 然后欧洲计算机制造商协会&#xff08;ECMA&#xff09…...

nps内网穿透之——腾讯云服务器和linux虚拟机

准备 1、客户端&#xff1a;准备一个内网的linux内网主机&#xff0c;或是一个虚拟机。 2、服务端&#xff1a;准备一个云服务器&#xff08;阿里、腾讯、华为都行&#xff09;。 安装方式&#xff1a; 1、自己到Github官网下载安装包上传。 下载地址&#xff1a;https://…...

大数据知识点

VMWare 设置网段 虚拟机设置 JDK部署 云平台 创建VPC 找到阿里云控制台里的VPC&#xff0c;点击专有网络 安全组 搁置…有需要再使用&#xff0c;因为每月要花200左右 大数据 数据导论...

【计算机毕设项目】2025级计算机专业项目推荐 (前后端Web项目)

以下项目选题适合计算机专业大部分专业&#xff0c;技术栈主要为&#xff1a;Java语言&#xff0c;SSMVue框架&#xff0c;MySQL数据库 后台免费获取源码&#xff0c;可提供远程调试、环境安装配置服务&#xff08;文末有联系方式&#xff09; 以下是本次部分项目推荐1-end&a…...

【MySQL】2.MySQL实际操作

目录 一、数据分析基本流程 注&#xff1a;Navicat快捷键 二、获取数据后的代码操作 &#xff08;1&#xff09;探索数据&#xff0c;查看定义 &#xff08;2&#xff09;筛选有用的字段 &#xff08;3&#xff09;建新表&#xff08;查询建表插值 三合一&#xff09; 注意…...

Winform画圆以及无边框窗体的移动

普通圆 在WinForms中绘制一个圆形&#xff0c;可以通过几种方式实现&#xff1a; 1. 使用ControlPaint类 在窗体的Paint事件中使用ControlPaint.DrawCircle方法来绘制圆形。 private void Form1_Paint(object sender, PaintEventArgs e) {int x 100; // 圆心的X坐标int y …...

如何高效记录并整理编程学习笔记?

高效记录并整理编程学习笔记是提升编程学习效率和效果的重要方法。以下是一些具体的步骤、工具及其使用方法的介绍&#xff1a; 一、高效记录笔记的方法 专注理解&#xff1a;在记录笔记时&#xff0c;首先要保持高度的专注&#xff0c;努力理解老师或教程中讲解的知识点。避免…...

docker的安装和常用命令

docker的安装和常用命令 安装老版本新版本 镜像源配置常用命令基本命令清理文件复制构建镜像上传镜像 补充权限不足无目录权限无用户权限 容器访问jenkins推送镜像失败修改主机名编写Dockerfile 注&#xff1a;这里的安装是针对于cetnos7。 安装 老版本 安装老版本可能遇到报…...