铷铯

导航

 

Poppler在Mac OS X上可以正常运行(我们需要的pdftotext完全正常,可以得出坐标)。通过研究代码,它有一个OutputDev的类,pdftotext就是用一个TextOutputDev继承了OutputDev来做的。当然还有ImageOutputDev,我们也可以自己写OutputDev。Poppler会解析出PDF,把每个word或者画线什么的,通知给OutputDev。Poppler在iOS上能不能用有待研究,但是据说是可以的。

Quartz 2D是一个包含完整PDF API的用于写iOS的库,

http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf_scan/dq_pdf_scan.html#//apple_ref/doc/uid/TP30001066-CH220-TPXREF101

用它很容易搞出来一个iOS上的PDF阅读器。

这样我们就有至少3种方式实现PDF解析:

1. 最暴力的办法。用Quartz 2D显示PDF,用poppler解析出每个word的坐标,用户点击时判一下坐标。主要难度就是移植poppler,实在不行我们还可以把它放在服务器端。

2. 纯用poppler(除了画图),自己写一个OutputDev,也不用逐字解析出来。

3. 抛弃poppler,用在iOS上比较常用的Quartz 2D,它也有解析PDF的API,具体功能到什么程度需要再研究一下,如果足够强大,这应该是最好的选择。

posted on 2011-04-19 00:44  se2012  阅读(674)  评论(1编辑  收藏  举报