Ana*_*and 2 pdf iphone objective-c ios vfr-reader
我正在使用VFR阅读器来显示我的pdf.我需要在按钮上单击并在桌面视图中显示目录,然后在点击每个页面时它应该指向相应的页面.
解析PDF目录实际上并不是很难.您可以使用Apple的PDF"Voyeur"等工具查看Adobe Acrobat的Preflight浏览器的结构或类似内容:
您会看到"Outline"是一个相当简单的树,可以使用各种CGPDF*
函数进行解析.这里的挑战是还要解析目标/操作类型.PDF不会让事情变得太简单,也不会给你一个页码,相反,通常你会找到一个链接的命名目的地.这可以通过交叉引用另一个表来解决,最好在PDF规范中查找.这当然只是其中一个选项,它也可以是目标是GoTo从命名操作(例如Next Page)到JavaScript(例如this.pageNum = x)的10种动作类型之一.在上图中,您会看到一个经典的GoTo动作,其中较长的字符串是命名引用.
还有一些其他特殊情况,特别是对于较旧的乳胶文档和PDF 1.1规范中的一些页面做了一些不同的事情,所以要小心实现PDF规范的所有角落案例,以免后来出现意外.
轮廓有时也包括URI动作,因此至少也实现该类型.它们也可以有字体样式和颜色,所以你不会觉得无聊.去过那里,在iOS和Android的商业PSPDFKit PDF SDK中完成了.