前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用腾讯轻量云服务器来搭建PDF在线工具箱

用腾讯轻量云服务器来搭建PDF在线工具箱

原创
作者头像
李小飞
修改2021-09-17 16:55:07
1.7K0
修改2021-09-17 16:55:07
举报
文章被收录于专栏:用户7745533的专栏

上篇文章中我们讲了怎么利用腾讯轻量云服务器搭建一个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工具箱直接做成了镜像,里面已经封装好了相应的环境。因此,就不需要那么麻烦的配置环境了。只需要一行命令就可以搞定。

代码语言:txt
复制
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,如果原pdf中基本上都是文字的话,那么压缩的效果就不太理想。因为基本上没压缩的空间了。

PDF OCR

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

文字提取
文字提取
转换结果
转换结果

证书配置

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

代码语言:txt
复制
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
代码语言:txt
复制
 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上。

代码语言:txt
复制
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吧

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 购买腾讯云轻量服务器
  • 启动Docker容器
  • PDF压缩
  • PDF OCR
  • 证书配置
  • 总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档