原来服务器这么有用-使用轻量应用服务器搭建专属自己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/Caddyfile


pdf.example.com {
         tls pdf@example.com
         encode gzip
         reverse_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.mfbz.cn/a/358876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

万户 ezOFFICE wpsservlet SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

10V单通道负载开关

概述 EM5220是一款单通道负载开关,具有可编程上升时间和集成输出放电控制。该设备包含一个P沟道NOSFET,可以通过输入进行操作电压范围为4.5V至10V。开关由接通和断开低电平逻辑输入控制,其能够与GPIO信号接口。设备的可编程上升时间可以减少…

代码随想录刷题笔记-Day15

1. 完全二叉树的的节点个数 222. 完全二叉树的节点个数https://leetcode.cn/problems/count-complete-tree-nodes/ 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没…

课时7:shell基础_shell简介

1.3.1 shell简介 学习目标 这一节,我们从 运维、shell语言、小结 三个方面来学习。 运维 简介 运维是什么?所谓的运维,其实就是公司的内部项目当中的一个技术岗位而已,它主要做的是项目的维护性工作。它所涉及的内容范围非常…

Redhat 8.4 一键安装 Oracle 11GR2 单机版

Oracle 一键安装脚本,演示 Redhat 8.4 一键安装 Oracle 11GR2 单机版过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 脚本…

插接母线温度在线监测系统研究与应用

摘要:低压封闭式插接母线是供配电设施的关键部件,安装在生产车间内部高空,不易保养和维护,在安装不良或保养不当时易发生故障。插接点温度的异常变化与母线故障的发生有着密切的关系,以汽车整车制造工厂为例&#xff0…

Unity 策略模式(实例详解)

文章目录 简介示例1:角色攻击行为示例2:游戏内购折扣策略示例3:NPC寻路策略示例4:动画过渡策略示例5:敌人AI决策策略 简介 在Unity中使用策略模式,我们可以将不同的行为或算法封装成独立的类(策…

SpringMVC 自动配置

SpringMVC 自动配置 一、WebMvcAutoConfiguration(SpringMVC自动配置)二、DisPatcherServletAutoConfiguration.class(中央调度器自动配置)三、WebMvcConfigurationSupport(SpringMVC组件配置类)四、Servle…

iOS 17.4 苹果公司正在加倍投入人工智能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

网络隔离场景下访问 Pod 网络

接着上文 VPC网络架构下的网络上数据采集 介绍 考虑一个监控系统,它的数据采集 Agent 是以 daemonset 形式运行在物理机上的,它需要采集 Pod 的各种监控信息。现在很流行的一个监控信息是通过 Prometheus 提供指标信息。 一般来说,daemonset …

低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别

低功耗蓝牙(BLE) vs 经典蓝牙(SPP) 区别项低功耗蓝牙(BLE)经典蓝牙(SPP 串行端口协议)蓝牙版本蓝牙版本 > 4.0,又称蓝牙低功耗、蓝牙智能经典蓝牙2.0 或更早版本,经典配对模式在两台蓝牙设备之间建立虚拟串口数据连接,提供一种简单而直接…

06.VLAN、Trunk和Hybrid配置

文章目录 一. 初识VLAN1.1. VLAN概述1.2. VLAN的优势1.3. VLAN的帧格式1.4. 接口链路类型1.5. 默认VLAN1.6. VLAN划分方式 二. 实验题2.1. 实验1:划分VLAN2.1.1. 实验目的2.1.2. 实验拓扑图2.1.3. 实验步骤(1)配置PC机的IP地址(2&…

stable diffusion学习笔记——文生图(二)

LORA和Embeddings都可以对画面内容进行调整。目前LORA主要用来定义画面特征,如具体的人物,衣物,画风等。Embeddings目前主要用于反面提示词中,用来避免错误的画面表现。 LORA lora的全称为:低秩适应模型。lora的基本…

05. 交换机的基本配置

文章目录 一. 初识交换机1.1. 交换机的概述1.2. Ethernet_ll格式1.3. MAC分类1.4. 冲突域1.5. 广播域1.6. 交换机的原理1.7. 交换机的3种转发行为 二. 初识ARP2.1. ARP概述2.2. ARP报文格式2.3. ARP的分类2.4. 免费ARP的作用 三. 实验专题3.1. 实验1:交换机的基本原…

常用芯片学习——AMS1117芯片

AMS1117 1A 低压差线性稳压器 使用说明 AMS1117 是一款低压差线性稳压电路,该电路输出电流能力为1A。该系列电路包含固定输出电压版本和可调输出电压版本,其输出电压精度为士1.5%。为了保证芯片和电源系统的稳定性,XBLWAMS1117 内置热保护和…

Nulls: Nothing to Worry About

本文是文章Nulls: Nothing to Worry About的翻译笔记。 避免三值逻辑出现问题。 ISO SQL 标准中的NULL可以是任何东西,但不是一个值。 NULL是指示完全缺乏值的标记。 它们会导致三值逻辑,使用起来很混乱,而且这种混乱常常导致粗心的人编写返…

20240126收获

el-table比较常见的需要跳转column的场景,目前遇到三种,一种是前面列变成序号,用的是typeindex和:index来设置索引,第二种是变成多选,用的是typeselect和在table上加上select-change事件,第三种…

指针操作一维字符型数组和及回调函数------努力学习嵌入式的第十四天!今天的内容让人脑瓜子嗡嗡的 着重复习

总结 1.快速排序 注意: 第二三步并不能反过来 要想降序排列只需要加将比较的符号换一下 2.指针操作一维字符型数组 (const) char *s "hello"; *sH; //错误 char s[]"hello"; s[0] B char *strncpy(char *d…

掌握 Android JNI 基础

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

全国网络安全行业职业技能大赛WP

word_sercet 文档被加密 查看图片的属性 在备注可以看到解压密码 解密成功 在选项里面把隐藏的文本显示出来 可以看到ffag easy_encode 得到一个bmp二维码 使用qr research 得到的密文直接放瑞士军刀 base32解码base64解码hex解码 dir_pcap 直接搜索flag 发现flag…
最新文章