开源项目推荐:Frooodle/Stirling-PDF


5539e3c7fa230e99e20aa9203927266c.jpeg
简介一个本地的处理 PDF 的工具,界面是 Web UI,可以支持 Docker 部署。
各种主要的 PDF 操作都可以支持。比如拆分、合并、转换格式、重新排列、添加图片、旋转、压缩等等。这个本地托管的网络应用最初完全由 ChatGPT 制作,后来逐渐发展,增加了许多功能,以满足你对 PDF 的各种需求。Stirling PDF 不会对外发送任何数据以进行记录或跟踪。所有的文件和 PDF 要么只在客户端处理,要么只在服务器内存中暂存,用于执行任务,或者仅在执行任务时保存在临时文件中。一旦用户下载了文件,那些文件就会从服务器上删除。
特性

  • 支持深色模式
  • 可自定义的下载选项
  • 文件的并行处理和下载功能
  • 提供 API,可与外部脚本整合
  • 可选的登录和认证功能

PDF 功能页面操作

  • 查看和修改 PDF - 可以查看多页 PDF,并自定义排序和搜索,还支持页面上的编辑功能,如添加注释、绘图、文本和图片。(采用 PDF.js、Joxit 和 Liberation 字体)
  • 提供完整的交互式界面,用于合并、拆分、旋转、移动 PDF 及其页面。
  • 将多个 PDF 合并成一个文件。
  • 在指定页码处拆分 PDF或将所有页面作为单独文件提取。
  • 按不同顺序重新排列 PDF 页面。
  • 以 90 度的增量旋转 PDF。
  • 删除页面。
  • 多页布局(将 PDF 重组为多页面格式)。
  • 按指定百分比调整页面内容大小。
  • 调整对比度。
  • 裁剪 PDF。
  • 自动拆分带有物理扫描分隔页的 PDF。
  • 提取特定页面。
  • 将 PDF 转换为单页格式。
    转换操作
  • 将 PDF 转换为图片,反之亦然。
  • 将各种常见文件格式转换为 PDF(使用 LibreOffice)。
  • 将 PDF 转换为 Word、Powerpoint 等格式(使用 LibreOffice)。
  • 将 HTML 转换为 PDF。
  • 将网址直接转换为 PDF。
  • 将 Markdown 文件转换为 PDF。


安全与权限

  • 设置和移除 PDF 密码。
  • 更改或设置 PDF 权限。
  • 添加水印。
  • 对 PDF 进行认证或签名。
  • 清理 PDF 文件。
  • 自动涂抹文本以保护隐私。


其他操作

  • 添加、生成或写入电子签名。
  • 修复 PDF 文件。
  • 检测并移除空白页。
  • 比较两个 PDF 文件并显示文本上的差异。
  • 向 PDF 中添加图片。
  • 使用 OCRMyPDF 压缩 PDF 文件以减小其大小。
  • 从 PDF 中提取图片。
  • 从扫描件中提取图片。
  • 添加页码。
  • 根据 PDF 标题文本自动重命名文件。
  • 对 PDF 进行 OCR 处理(使用 OCRMyPDF)。
  • 将 PDF 转换为 PDF/A 格式(使用 OCRMyPDF)。
  • 编辑元数据。
  • 平整化 PDF。
  • 获取并查看或导出 PDF 的全部信息为 JSON 格式。

项目地址:https://github.com/Frooodle/Stirling-PDF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023 年中国金融级分布式数据库市场报告:TiDB 位列领导者梯队,创新能力与增长指数表现突出

近日,沙利文联合头豹研究院发布了中国数据库系列报告之《2023 年中国金融级分布式数据库市场报告》。 报告认为,金融行业对于分布式数据库信任度与认可度正在逐步提高,中国金融级分布式数据库市场正处于成熟落地的高增长阶段,行业…

Flink项目实战篇 基于Flink的城市交通监控平台(上)

系列文章目录 Flink项目实战篇 基于Flink的城市交通监控平台(上) Flink项目实战篇 基于Flink的城市交通监控平台(下) 文章目录 系列文章目录1. 项目整体介绍1.1 项目架构1.2 项目数据流1.3 项目主要模块 2. 项目数据字典2.1 卡口…

Python+OpenCV 零基础学习笔记(1):anaconda+vscode+jupyter环境配置

文章目录 前言相关链接环境配置:AnacondaPython配置OpenCVOpencv-contrib:Opencv扩展 Notebook:python代码笔记vscode配置配置AnacondaJupyter文件导出 前言 作为一个C# 上位机,我认为上位机的终点就是机器视觉运动控制。最近学了会Halcon发现机器视觉还…

云计算:OpenStack 配置二层物理网卡为三层桥的接口

目录 一、理论 1.OpenStack 二、实验 1. Linux系统修改网卡 2.OpenStack 配置二层物理网卡为三层桥的接口 一、理论 1.OpenStack (1)概念 OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空…

IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!

作者:刘军 最受欢迎的 Java 集成开发环境 IntelliJ IDEA 与开源微服务框架 Apache Dubbo 社区强强合作,给广大微服务开发者带来了福音。与 IntelliJ IDEA 2023.2 版本一起,Jetbrains 官方发布了一款全新插件 - Apache Dubbo in Spring Frame…

Qt sender()函数

sender函数原型: QObject *sender() const; 如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。 主要代码如下: 其中运用了Q…

创建springboot项目

SpringBoot 就相当于不需要配置文件的SpringSpringMVC。 常用的框架和第三方库都已经配置好了。 maven安装配置 管理项目依赖库的 maven的安装教程网上有很多,这里简单记录一下。 官网下载maven后并解压。 在其目录下添加一个目录repository 然后在conf目录下…

学习笔记 k8s常用kubectl命令

k8s常用kubectl命令 pod 相关强制删除pod查看 Pod 中指定容器的日志pod 扩容 etcd 备份集群设置集群上下文配置文件切换集群 节点cordondrain pod 相关 强制删除pod pod 状态terminal了&#xff0c;需要强制删除 kubectl delete pod <pod_name> --grace-period0 --force…

uniapp原生插件 - android原生插件打包流程 ( 避坑指南一)

当时开发中安卓插件打包成功后&#xff0c;uniapp引用插件aar&#xff0c;用云打包 &#xff0c;总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要&#xff0c;一定要注册。 ------------------------------------------------…

Appium+python自动化(二)- 环境搭建—下(超详解)

简介 宏哥的人品还算说得过去&#xff0c;虽然很久没有搭建环境了&#xff0c;但是换了新电脑设备&#xff0c;一气呵成&#xff0c;将android的测试开发环境已经搭建准备完毕。上一篇android测试开发环境已经准备好&#xff0c; 那么接下来就是appium的环境安装和搭建了。 嘿…

Django信号机制源码分析(观察者模式)

Django信号的实现原理本质是设计模式中的观察者模式&#xff0c;浅谈Python设计模式 -- 观察者模式&#xff0c;也可以叫做发布-订阅模式&#xff0c;信号对象维护一个订阅者列表&#xff0c;当信号被触发时&#xff0c;它会遍历订阅者&#xff0c;依次通知它们。 先来回顾一下…

Github 2023-12-28开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-28统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目3TypeScript项目3非开发语言项目2Java项目1HTML项目1Svelte项目1 系统设计课程 创建周期&#xf…

kubelet源码学习(二):kubelet创建Pod流程

本文基于Kubernetes v1.22.4版本进行源码学习 4、kubelet创建Pod流程 syncLoop()的主要逻辑是在syncLoopIteration()方法中实现&#xff0c;Pod创建相关代码只需要看处理configCh部分的代码 // pkg/kubelet/kubelet.go // 该方法会监听多个channel,当发现任何一个channel有数…

ArkTS基本概念装饰器

目录 ArkTS基本概念 装饰器汇总 ArkTS基本概念 ArkTS是HarmonyOS的主力应用开发语言。 它在TypeScript&#xff08;简称TS&#xff09;的基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等相应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨…

17. 电话号码的字母组合中

给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "23" 输出&#…

Python字符串指定第几个字符前后截取

概述 我会以从前和从后遇到相应值进行截取为示例来进行讲解&#xff0c;授人以鱼不如授人以渔&#xff01; 示例 截取最后一个/后的数据 如果你有一个路径字符串&#xff0c;并且想要截取路径中最后一个斜杠 (/) 后的数据&#xff0c;你可以使用 Python 的字符串操作来实现…

nodejs业务分层如何写后端接口

这里展示的是在node express 项目中的操作 &#xff0c;数据库使用的是MongoDB&#xff0c;前期关于express和MongoDB的文章可访问&#xff1a; Nodejs后端express框架 server后端接口操作&#xff1a;通过路由匹配——>调用对应的 Controller——>进行 Service调用——&…

Postman接口测试工具使用

一、前言 在前后端分离开发时&#xff0c;后端工作人员完成系统接口开发后&#xff0c;需要与前端人员对接&#xff0c;测试调试接口&#xff0c;验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致&#xff0c;任何一方的进度跟不上&#xff0c;都无法及…

ASUS华硕ROG幻16笔记本电脑2023款GU604VI VZ VY原装出厂Windows11系统22H2

华硕玩家国度幻16笔记本原厂W11系统&#xff0c;适用型号&#xff1a;GU604VI、GU604VZ、GU604VY 链接&#xff1a;https://pan.baidu.com/s/166x6FNUFEpA3Qbzeory3Hg?pwdlwau 提取码&#xff1a;lwau 系统自带所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管…

使用python的pika链接rabbitMq断裂

比如我们执行一个很长的任务的时候&#xff0c;执行结束ack确认发现确认失败&#xff0c;mq都断了。 只要是使用pyhon的pika都会出现这个问题&#xff0c;因为pika本身是没有主动发送心跳机制的&#xff08;你用java的话是没问题的&#xff09; 解决方式: 在链接中heartbeat0…