原来服务器这么有用-使用轻量应用服务器搭建专属自己PDF处理工具

原来服务器这么有用-使用轻量应用服务器搭建专属自己PDF处理工具

1、前言

PDF文件是日常办公中经常使用的一种文档格式。最近,青阳面临一个问题:某公司发送过来的文件需要我们进行印章流程,但由于该公司系统在电子文件加盖电子公章后会自动加密,导致我们的印章程序无法正常进行电子公章的加盖。面对这一情况,青阳感到非常着急,四处寻找解决方案。在网络上,有许多与PDF相关的工具,但大多数要求会员资格或登录,操作繁琐,而且存在文件泄漏等安全隐患。

鉴于上述问题,为了解决实际的印章流程困扰,我在Github上找到一款免费、开源的PDF工具:Stirling-PDF,这里推荐给大家。

2、介绍

2.1基本介绍

Stirling-PDF是可以在本地托管的基于Web的PDF操作工具,其最初由ChatGPT制作,并经过持续版本迭代更新。该工具支持对PDF文件执行多种操作,包括拆分、合并、转换、重组、添加图像、旋转、压缩等功能。更重要的是,Stirling-PDF完全开源免费,彻底告别了付费和烦扰的广告。

如果担心隐私泄露问题,用户还可以选择自建Stirling-PDF本地服务。该项目的源代码已在Github上开源,赢得了16.5K颗星的支持。

2.2主要功能

Stirling-PDF的主要功能包括:

  • 支持Windows、Linux、MacOS全平台
  • 支持暗黑主题、中文、英文等多种语言
  • 提供用于与外部脚本集成的API
  • 提供完整的Web-GUI,用于合并、分割、旋转、移动PDF及其页面
  • 能够将PDF分割为多个文件或将多个PDF合并为一个
  • 支持将PDF转换为图片,以及将图片转换为PDF
  • 检测并删除空白页
  • 比较两个PDF并显示文本差异
  • 向PDF中添加图片
  • 压缩PDF以减小文件大小
  • 添加和移除密码、添加水印
  • 将任何常见文件转换为PDF
  • 将PDF转换为Word/Powerpoint/其他格式
  • 从PDF中提取图片,对PDF进行OCR。

GitHub地址:Stirling-Tools/Stirling-PDF: locally hosted web application that allows you to perform various operations on PDF files (github.com)

Docker Hub地址:frooodle/s-pdf - Docker Image | Docker Hub

3、安装

官方提供多种方法:Stirling-Tools/Stirling-PDF

使用服务器配置:

  • CPU - 2核 内存 - 2GB
  • 系统盘 - SSD云硬盘 50GiB管理快照
  • 流量包 - 300GB/月(带宽:4Mbps)

下面以在腾讯云轻量应用服务器的docker镜像安装为例。

如果购买的腾讯云轻量应用服务器不是docker镜像的可以重装成docker基础镜像。

添加描述

如果使用其他服务器没有docker可以看这篇文章:原来服务器这么有用-Docker安装 - 青阳のblog-一个计算机爱好者的个人博客 (hipyt.cn)

注意

如果没有服务器可以通过传送门新购一台。

腾讯云轻量应用服务器购买地址:传送门

2.1登录服务器

进入腾讯云轻量应用服务器的控制台,点击右上方的 登录 ,使用腾讯云OrcaTerm 登录到服务器(注意图片中标记的两个位置都可以使用)。

点击登录之后将会进入到服务器内部。

注意使用sudo -i切换到管理员模式。

2.1.1 检查docker服务状态

执行以下命令,新建目录并验证

systemctl status docker

2.1.2 下载Stirling-PDF镜像

docker pull frooodle/s-pdf:latest

从docker hub拉取最新的镜像。

2.1.3 启动容器

docker run -d --name pdf -p 8080:8080 frooodle/s-pdf:latest

2.1.4放通防火墙

一般情况只需要填写端口就行,注意端口是和上面,启动docker是设置的端口一致的。

3、简单使用教程

3.1 访问Stirling PDF

访问地址:http://ip:8080/

将IP更换为自己服务器的IP地址,端口也换成自己设置的。

右上角可以修改语言,这样就可以简单使用啦。

4、使用域名访问

4.1安装 Caddy

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list apt update apt install caddy

4.1.1启动 Caddy

systemctl start caddy

4.1.2开机启动

systemctl enable caddy

4.2修改配置文件

vim /etc/caddy/Caddyfilepdf.example.com {tls pdf@example.comencode gzipreverse_proxy localhost:8080
}

把配置中的 pdf.example.com 替换为自己的域名, pdf@example.com 替换为你的邮箱,用于签发 SSL 证书。(所填邮箱不一定要是真实存在的。)

添加描述

4.2.1加载配置文件

systemctl reload caddy

4.3添加解析

访问 https://pdf.example.com 即可访问自己的 Stirling PDF。

总结

本教程使用腾讯云轻量应用服务器轻松搭建这个pdf工具。希望可以给大家带来帮助,大家有更好的想法欢迎在评论区交流。

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

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

相关文章

OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?

使用2个纹理实现 NV21 格式图像渲染 前文提到渲染 NV21 格式图像需要使用 2 个纹理,分别用于保存 Y plane 和 UV plane 的数据,然后在片段着色器中分别对 2 个纹理进行采样,转换成 RGB 数据。 OpenGLES 渲染 NV21或 NV12 格式图像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_A…

Covalent (CQT):构建全新链上协议收入体系,致力于财务透明

在充满活力的区块链世界以及去中心化技术领域,Covalent Network(CQT) 正在通过其创新的协议收入模型对链上经济体系进行重塑。这一特性与传统金融系统不同,这一特性带来了无与伦比的可访问性,消除了中介,并…

电商平台如何安全的出金入金?如何合规避税?如何消除泡沫?

大家好 我是一家软件开发公司的产品经理 我叫吴军 最近银行卡风控非常严重,不管是电商行业,各行各业都是如此,连去银行取大额都要提前预约并且说明来意。 做生意的老板都知道,但凡有一笔资金被冻结,就有可能导致资金…

掌握 Android JNI 基础

写在前面 最近在看一些底层源码,发现 JNI 这块还是有必要系统的看一下,索性就写一写博客,加深加深印象🍻 本文重点聊一聊一些干货,避免长篇大论 JNI 概述 JNI 是什么? 定义:Java Native In…

vue3使用@imengyu/vue3-context-menu完成antv/x6右键菜单

1、下载插件&#xff1a; npm i imengyu/vue3-context-menu1.3.6 2、在页面中引入并使用插件&#xff1a; <script setup> import ContextMenu from "imengyu/vue3-context-menu";graph.on("node:contextmenu", ({ e, x, y, cell, view }) > {ha…

JAVA 学习 面试(十一)常见设计模式

设计模式 ## 1、创建型模式 对象实例化的模式&#xff0c;创建型模式用于解耦对象的实例化过程。 单例模式&#xff1a;某个类智能有一个实例&#xff0c;提供一个全局的访问点。 工厂模式&#xff1a;一个工厂类根据传入的参量决定创建出哪一种产品类的实例。 抽象工厂模式&a…

Linux系统中Docker的安装及常用组件的安装

什么是Docker Docker是一个开源的应用容器引擎&#xff0c;它可以让开发者将应用程序及其依赖项打包到一个可移植的镜像中&#xff0c;并发布到任何流行的操作系统上。Docker使用沙箱机制来隔离容器&#xff0c;使其相互独立&#xff0c;并简化了应用程序的部署和管理。沙箱机…

推荐一款简单好用的数据库建模工具

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

市面上的小型办公室都是哪些人在租?

市面上的小型办公室&#xff0c;又称服务式办公室&#xff0c;是一种将传统的写字楼进行精装修&#xff0c;分割成若干个独立的小型办公空间&#xff0c;提供给不同的租户的新型办公模式。那么&#xff0c;市面上的小型办公室都是哪些人在租&#xff1f;本文将从租户的特点和需…

npm create vue3项目特别慢

问题&#xff1a;Vue CLI v5.0.8在配置了淘宝镜像的情况下&#xff0c;创建项目报Failed to check for updates&#xff0c;还特别慢&#xff0c;等了好久都创建不好 查看 npm config get registry更换npm镜像 npm config set registryhttps://registry.npmmirror.com这样创建…

Web11--Bootstrap

1、Bootstrap入门 1.1 Bootstrap简介 官网&#xff1a;Bootstrap中文网 1.2 Bootstrap引入 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"…

Python中容器类型的数据

目录 序列 序列的索引操作 加和乘操作 切片操作 成员测试 列表 创建列表 追加元素 插入元素 替换元素 删除元素 元组 创建元组 元组拆包 集合 创建集合 修改集合 字典 创建字典 修改字典 访问字典视图 遍历字典 若我们想将多个数据打包并且统一管理&…