PDF技术在移动平台上的应用研究

时间:2022-08-13 11:05:30

PDF技术在移动平台上的应用研究

摘 要:本文通过先提出PDF显示技术在移动平台上可能遇到的问题,提出了相应的解决方法。并介绍了福昕PDF显示引擎的功能特点。

关键词:PDF;移动平台

中图分类号:TP391

现在,我们的日程工作和学习中越来越多需要处理PDF文档,而随着智能手机平板的普及,同时也越来越多的PDF文档需要在移动平台上进行阅读。如何开发出一个好的PDF应用软件,在开发的过程中都需要注意些什么,如何解决,本文主要通过多年的开发经验提出了一些方法。

1 PDF技术在移动平台的新问题和解决方法

1.1 问题:PDF文件复杂度高,PDF应用程序容易在翻页或者某个操作中卡死。

应对:因为PDF格式可以支持结构非常复杂的文档,有些PDF文档内会存有尺寸很大的高清图片,或者上万条或更多的图形曲线。在解析这样的PDF文档页面的时候,应用程序会花费大量的时间在文档的解析和显示上,在手机或者平板上显示页面会容易导致应用“卡死”的情况发生。

遇到这类文档,PDF的解析引擎需要能够支持步进式解析和显示,所谓步进式,就是把复杂的工作拆分成数个规模较小的工作,这样可以避免PDF在解析或者显示的时候“一条路走到黑”,当每完成一个“小规模”工作时应用都停下来花时间响应用户的UI操作。这样就避免发生卡死现象。

1.2 问题:移动嵌入设备相对桌面PC,显示屏幕比较小,而很多PDF页面都比较大,在小小的几寸屏幕上要看完PDF文件一行的内容,需要来回移动页面或是把页面缩得很小才可以查看完整的内容。

应对:因为PDF是版式文件,对于现在五花八门分辨率的手机、平板来说。想要自适应各种屏幕的话,就需要能够把版式文件用流式文件的方式重排后再显示出来。因为大多数的PDF文件在转换生成时都丢失了流式信息。这就需要对PDF进行版式分析,依靠智能算法对PDF进行再排版,适应各种分辨率屏幕。这项技术很有难度,因为在重新排版后版面是否合理,完全取决于这个算法对版式的分析是否接近真实的情况。

1.3 问题:移动嵌入设备上,可用内存相对紧缺,所以出现内存溢出的异常情况的概率相对较高,当出现内存不足时如何进行恢复处理?

应对:需要有完善的异常处理机制,在出现异常的时候可以让应用很好的做异常恢复处理,让程序在用户不知不觉的情况下恢复到正常。最好能提供固定内存使用模式,PDF引擎使用的内存完全的控制在一个额度内,当超出这个额度时,触发异常,PDF引擎记录下当前文档现场状态,然后释放所有无关内存,再用最小的内存开销恢复到现场状态,这样处理用户是无感知的。极大的提升了用户体验。

1.4 问题:如何在小屏幕下最大比例显示页面内容

大多数PDF文件的版面,页面的上下左右的边缘都是没有内容的。在移动嵌入平台下这些空白位置对屏幕的占用是很浪费的。可以通过PDF解析引擎可以获取得到容纳页面所有内容的最小矩形边界。有了这个最小边界,在设备屏幕比较小的情况下,就可以尽量以比较大的缩放比例来显示页面,同等条件下得到更好的用户体验。

1.5 问题:图片显示优化

在移动嵌入平台对于PDF文件内的图片显示,提供了插值计算的选项。可以让应用程序在不同处理速度的设备上,在显示速度和显示效果之间做很好的平衡,达到最好的用户体验。

2 福昕PDF引擎移动平台功能特色

2.1 页面显示

福昕的显示引擎具有速度快,占用内存小,显示效果好等特点,特别适合在移动嵌入平台上开发应用程序。

2.2 页面重排

很多PDF文件页面的原始大小,都有一本书大小,例如有A4纸张的大小,而大多数移动设备的屏幕都比较小,把原始的PDF页面缩小到嵌入设备的屏幕上显示的时候文字就显得太小了,如果把页面放大显示,又需要通过来回移动页面才可以看完一行的内容.用户体验非常不好。

福昕SDK的页面重排功能解决了这个问题。

页面重排功能,实现了对PDF页面的重新排版功能,可以根据页面的显示宽度对页面的内容进行重新排布。应用程序的开发人员利用SDK就可以很容易的开发出在小屏幕显示设备上有良好阅读体验的软件产品。

作者简介:王航(1978.6-),男,福建福州人,单位:福州福昕软件开发有限公司,软件设计师,学历:福州大学本科,研究方向:嵌入平台软件开发。

上一篇:基于Proteus构建硬件仿真虚拟实验室 下一篇:基于网络的学分制管理平台的应用现状与问题分...