用轻量服务器搭建自己的pdf在线工具箱(支持pdf压缩以及pdf OCR)

2023-05-16

上篇文章中我们讲了怎么利用腾讯轻量云服务器搭建一个PDF在线压缩工具,今天我们来搭建一个更强大的工具,不仅支持PDF在线压缩,还支持PDF OCR文字识别

前言

前两天需要压缩一个pdf文件,由于pdf中涉及到了一些个人信息,不想使用在线的网站的压缩。下载了几个离线的压缩工具,大部分居然都需要收费,虽然后来找到了一个免费的工具搞定了这件事,不过想到后面可能还会碰到这样的事情,因此萌生了自己做一个在线压缩pdf的网站的想法。查阅了相关资料,最后借助ghostscript 实现了我的需求。不过有小伙伴觉得网站功能太单调了,还有小伙伴想要OCR的功能,我看了一下ghostscript的文档,发现ghostscript是支持OCR的,那还等什么,集成就完事了。如果小伙伴们觉得有用的话,给我的仓库https://github.com/lixiaofei123/pdftoolbox点一个star吧。由于新的工具网站不仅仅是只支持pdf压缩,现在也支持OCR,后面可能还会增加别的功能,因此我将原来的pdfcomress名字改成了pdftoolbox。

下面是网站的首页,可以看到,是非常简洁的。

在这里插入图片描述

下面讲一下怎么在腾讯云轻量服务器部署这个pdf在线工具箱,有兴趣的小伙伴可以玩一下

购买腾讯云轻量服务器

既然要在轻量服务器上部署,那么就需要先购买一个轻量服务器。现在轻量服务器在做活动,2核4G的配置一年只需要74元,详情可以点击这个链接了解。如下图所示,点击购买即可

秒杀页面

然后选择【地域】和【镜像】,地域的话选择距离自己最近的地域,我们后面要使用Docker进行安装,因此这里直接选择【Docker基础镜像】,下面系统可以选一个自己熟悉的,如果无所谓的话,就保持默认好了。

然后提交订单并付款,稍等一会,我们的轻量服务器实例就创建成功了。为了方便操作,需要用终端来连接服务器,这个涉及到一些配置,官方文档讲的很清楚,可以自己看着操作一下。后面的步骤默认在终端上操作。

启动Docker容器

部署一个应用最简单的方法,当然使用docker镜像了。今天的教程也不例外,我将pdf工具箱直接做成了镜像,里面已经封装好了相应的环境。因此,就不需要那么麻烦的配置环境了。只需要一行命令就可以搞定。

mkdir -p /data/pdftoolbox/input
mkdir -p /data/pdftoolbox/output
docker run -d --name pdftoolbox --restart=always -p 8082:8082 -v /data/pdftoolbox/input:/opt/pdftoolbox/input  -v /data/pdftoolbox/output:/opt/pdftoolbox/output  mrlee326/pdftoolbox

其中//opt/pdftoolbox/input是用来放置用户上传文件的目录,/opt/pdftoolbox/output是用来放转换后的文件的目录,建议将其挂载在宿主机上,这样就方便后面清理文件了。有能力的话,可以自己写一个定时脚本来清理过期的文件。

启动完毕后,就可以通过浏览器来访问我们的pdf在线工具箱了。目前提供了两个功能,一个是pdf压缩、一个是pdf OCR

PDF压缩

先来试用一下pdf压缩功能。在低质量模式下,可以将pdf的体积压缩到原来的1/4大小。

在这里插入图片描述

pdf压缩主要针对的是包含图片比较多的pdf,如果原pdf中基本上都是文字的话,那么压缩的效果就不太理想。因为基本上没压缩的空间了。

PDF OCR

然后就来试一下pdf的文字提取吧。这个功能同样是基于ghostscript来实现的。激活【PDF文字提取】选项,然后根据需要来选择额外支持的语言,目前内部默认支持简体中文和英文,因此基本上不需要选择。点击上传文件,就会自动进行转换,如果机器的性能比较低的话,这一步可能会比较慢,请耐心等待几分钟。等下面的进度条全部走完,并出现【点击下载】按钮,说明转换完毕,这时候点击下载即可。

在这里插入图片描述

在这里插入图片描述

证书配置

如果想要https证书的话,可以使用acme-companion容器来进行证书的自动颁发。这个操作起来也很简单。只需要额外启动两个容器即可

docker run --detach \
    --name nginx-proxy \
    --publish 80:80 \
    --publish 443:443 \
    --volume certs:/etc/nginx/certs \
    --volume vhost:/etc/nginx/vhost.d \
    --volume html:/usr/share/nginx/html \
    --volume /var/run/docker.sock:/tmp/docker.sock:ro \
    nginxproxy/nginx-proxy
 docker run --detach \
    --name nginx-proxy-acme \
    --volumes-from nginx-proxy \
    --volume /var/run/docker.sock:/var/run/docker.sock:ro \
    --volume acme:/etc/acme.sh \
    --env "DEFAULT_EMAIL=mail@yourdomain.tld" \
    nginxproxy/acme-companion

最后启动pdftoolbox。注意多了几个环境变量VIRTUAL_HOST、VIRTUAL_PORT、ETSENCRYPT_HOST,同时需要提前将pdf.bar.foo解析到轻量服务器的ip上。

docker run --detach \
	--restart=always --name pdftoolbox \
	-v /data/pdftoolbox/input:/opt/pdftoolbox/input \
	-v  /data/pdftoolbox/output:/opt/pdftoolbox/output \
	--env "VIRTUAL_HOST=pdf.bar.foo"  \
	--env "VIRTUAL_PORT=8082"   \
	--env "LETSENCRYPT_HOST=pdf.bar.foo" \
	mrlee326/pdftoolbox

然后通过浏览器访问https://pdf.bar.foo,就可以看到绿色的小锁了,表示我们的网站是安全的了。

总结

通过上面的过程,我们就有了一个属于自己的在线pdf工具箱网站,这样也不用担心自己的个人信息被别人保存,同时更换电脑的话也不需要重新安装软件。如果小伙伴们觉得有用的话,给我的仓库https://github.com/lixiaofei123/pdftoolbox点一个star吧

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用轻量服务器搭建自己的pdf在线工具箱(支持pdf压缩以及pdf OCR) 的相关文章

随机推荐

  • Tongweb忘记密码处理办法

    Tongweb管理控制台密码忘记 xff0c 导致无法登录 xff1a 最快的处理办法 xff1a 将密码修改成默认的 thanos thanos123 com vi root TongWeb7 0 conf security twuser
  • 解决pip3 install下载慢的问题

    国外的源访问很慢 xff0c 可以用国内的源进行下载 xff0c 因此可以通过以下的方法来解决 1 临时解决 pip3 install i https pypi tuna tsinghua edu cn simple 要安装的库的名称 2
  • mysql5.7.37安装于centos7.9【离线】

    一 下载 下载地址 xff1a MySQL Download MySQL Community Server Archived Versions 找到你需要的版本及对应安装的环境点击下载 二 安装 1 将文件传输到服务器root跟目录下上 2
  • VirtualBox 5.2.42(Ubuntu 18.04 )修改虚拟机磁盘空间

    本人主要在Ubuntu上写代码 xff0c 用虚拟机装win10办公 xff0c 由于企业微信保存数据多 xff0c 还装了写办公软件 xff0c C盘越来越大 xff0c 需要扩大虚拟机容量 一 主机端修改 本人使用的是命令行修改 xff
  • Sublime Text 4 (Build 4143)激活与汉化

    Sublime 版本是Sublime Text 4 Build 4143 注册方法如下 xff1a 安装软件 xff1a 去官方站点下载并安装 文件 xff1a sublime text build 4143 x64 setup 第一步 x
  • moment.js在vue中的使用及时间插件moment.js的常用时间格式总结

    1 前言 xff1a 本文仅针对时间插件moment js在vue中结合elm组件的基本使用及最常见的几种时间格式总结 xff0c 可视为 cv 大法的精髓之作 xff08 极大提高开发效率 xff0c 算了 xff0c 直接说懒吧 xff
  • centos6使用Epel源找寻软件包Nginx

    我们在Centos下使用yum安装时往往找不到rpm的情况 xff0c 官方的rpm repository提供的rpm包也不够丰富 xff0c 很多时候需要自己编译很痛苦 xff0c 而EPEL恰恰可以解决这两方面的问题 第二个解决问题是换
  • 机器学习算法: 逻辑回归的介绍和应用

    逻辑回归的介绍 逻辑回归 xff08 Logistic regression xff0c 简称LR xff09 虽然其中带有 34 回归 34 两个字 xff0c 但逻辑回归其实是一个分类模型 xff0c 并且广泛应用于各个领域之中 虽然现
  • Linux下c++程序内存泄漏检测代码范例

    Linux下对于程序内存泄漏检测的方法很多 xff0c 最常用的的莫过于使用valgrind工具 但是valgrind相当于让程序在虚拟机中运行 xff0c 会带来较大的系统资源开销 xff0c 还会对程序的运行效率产生较大影响 xff0c
  • mount: unknown filesystem type 'LVM2_*'解决方案

    解决办法 xff1a 需要安装 lvm2 yum install lvm2 然后按一下步骤 xff1a 1 查看物理卷 xff1a pvs PV VG Fmt Attr PSize PFree dev sda2 VolGroup00 lvm
  • 更相减损法和辗转相除法(GCD)求最小公倍数和最大公约数

    更相减损法和辗转相除法 xff08 GCD xff09 求最小公倍数和最大公约数 标签 xff08 空格分隔 xff09 xff1a 算法 算法竞赛 这两种算法平时经常听到 xff0c 听起来也很装逼 xff0c 但是我老是忘了他们的原理
  • Python 任意输入n个数,输出最大值和最小值

    定义一个标记判断是否是第一次输入 flag 61 True 给最大值和最小值赋一个初始值 max 61 min 61 1 while死循环 while 1 输入一个整数 n 61 float input 39 请输入一个数字 39 判断输入
  • WSL1安装rust报错thread ‘main‘ panicked的解决方法

    根据https www rust lang org tools install xff0c WSL安装rust使用命令 curl proto 39 61 https 39 tlsv1 2 sSf https sh rustup rs sh
  • 从远程服务器通过SSH连接WSL或WSL2

    方法一 xff08 简单方法 xff09 xff1a 参考THE EASY WAY how to SSH into Bash and WSL2 on Windows 10 from an external machine Scott Han
  • VcXsrv XLaunch 闪退 failed to bind listener 的解决方法

    在通过 VcXsrv 配置 X11 forwarding 时 xff0c 打开 XLaunch xff0c 却屡次在启动后闪退 xff0c 而 VcXsrv 主程序却能正常启动 通过 net stop winnat 取消端口排除范围后仍然闪
  • SerDes interface参考设计_CDR设计(5)

    5 CDR设计 CDR一直是比较热门的研究方向 xff0c 现在比较主流的方法有接收端输入数据和本地时钟的关系将其进行分类 常见的 CDR 拓扑结构可以分为如下的三大类 xff1a xff08 1 xff09 采用反馈相位跟踪结构 如 PL
  • Http请求中Content-Type讲解

    言 xff1a 在Http请求中 xff0c 我们每天都在使用Content type来指定不同格式的请求信息 xff0c 但是却很少有人去全面了解content type中允许的值有多少 xff0c 这里将讲解Content Type的可
  • 5分钟搭建自己的代码托管平台gitlab

    熟练的使用git和github已经成为了每个程序员必备的技能 git可以使我们更好的管理和维护自己的代码 xff0c 可以使团队成员之间以更高效的方式进行工作 xff0c github作为一个免费好用的代码托管平台 xff0c 在一定程度上
  • 【小白向】手把手教你发布自己写的HTML静态网页

    相对于C 43 43 JAVA等编程语言的复杂难学 xff0c HTML CSS JS可以说是对刚接触计算机的同学最友好的编程语言了 特别是随着主流浏览器都支持了HTML5 CSS3 xff0c 就算是新手 xff0c 只要费点心思 xff
  • 用轻量服务器搭建自己的pdf在线工具箱(支持pdf压缩以及pdf OCR)

    上篇文章中我们讲了怎么利用腾讯轻量云服务器搭建一个PDF在线压缩工具 xff0c 今天我们来搭建一个更强大的工具 xff0c 不仅支持PDF在线压缩 xff0c 还支持PDF OCR文字识别 前言 前两天需要压缩一个pdf文件 xff0c