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,具体功能到什么程度需要再研究一下,如果足够强大,这应该是最好的选择。

相关文章:

  • 2022-01-18
  • 2021-10-21
  • 2021-08-07
  • 2021-11-02
  • 2021-09-02
  • 2022-03-02
  • 2021-11-08
  • 2021-10-23
猜你喜欢
  • 2021-09-28
  • 2021-09-22
  • 2022-01-20
  • 2021-10-03
  • 2021-10-02
  • 2021-09-17
  • 2021-08-08
相关资源
相似解决方案