专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

在线预览PDF方案 pdf 在线预览

ins518 2024-10-06 10:24:16 技术文章 9 ℃ 0 评论

现公司客户上传的PDF文件非常大,动不动就100多兆,从而导致在线预览非常缓慢,请问有什么办法可以提高访问效率呢?

现状

  1. 客户上传的PDF文件大小存在百兆及以上。
  2. 由于文件过大导致在线预览打开的时候速度非常慢。

问题分析

其在线预览的原理可能是需要将整个PDF文件下载到本地,再通过浏览器(前端的插件)来预览此PDF文件,由于文件过大下载需要时间(根据服务器带宽限制及客户端网速而定)而且加载此文件需要时间(客户机器的配置有关)从而导致速度过慢。

为此我提供了两上解决方案

方案一

优化方案:图例

优化方案

1.优化目标

实现在线PDF预览,需实现秒级打开,并且实现搜索功能。

2.实现思路及方法

PDF文件上传后,将文件所有页面存储为图片至固定的硬盘目录或数据库表中,并且将PDF内的文字全部也需要转出来存储至数据库表中,一页的内容一条记录并记录页数

图片存储方式:建议图片存储到数据库中,其原因是动态显示图片更加灵活,比如增加权限控制、添加水印等等功能。

用户预览此PDF的时候即相当于打开此文件的图片组进行预览。

用户文字模糊搜索,能显示匹配多个内容,点击某个内容则显示当页图片预览。


方案二

优化方案:图例

优化方案

1.优化目标

与方案1一至:实现在线PDF预览,需实现秒级打开,并且实现搜索功能。

2实现思路及方法

PDF文件上传后,将文件所有页面存储为图片至固定的硬盘目录或数据库表中,一页一张图片占用一条记录。

文字搜索的时候需要通过服务器即时打开PDF将搜索的结果全部缓存出图片并且预览出来。

每次文字搜索对于当前版本没有搜索过的都需要进行一次缓存图片,搜索过的就直接访问历史搜索结果图片组即可。

优化方案比较

总结

1、方案1已经能满足大部分用户90%的需求了,且对服务器压力不大,针对于10%的用户可让下载本地进行浏览。

2、也可以考虑两个方案优缺点结合整出方案三。

欢迎大家评论提出更好的建议,谢谢!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表