PDFDestination没有给我正确的信息(Apple PDFKit)

时间:2018-12-07 14:48:45

标签: ios pdf pspdfkit ios-pdfkit apple-pdfkit

我有一个技术图纸的PDF文件,其中包含一页带有书签的页面,这些书签链接到文档的特定区域。

当我在Adobe Reader或Foxit Reader中单击这些书签时,它将缩放到该指定区域。但是在Apple的Preview.app或iBooks或基于PDFKit的iOS-App中,它将无法正常工作。甚至PSPDFKit也无法处理这些书签。

我正在构建一个基于PDFView的iOS-App,可以处理这些书签。当我调试PDFOutline属性时,我可以看到包含的PDFDestination对象包含该信息,但包含在私有字段中。我可以在调试期间观看它们。

enter image description here

此外,当我访问description对象的PDFDestination属性时,我得到以下信息:

FitR, page = 0, l = 132.0, b = 451.0, r = 400.0, t = 724.0

但是值zoompoint返回3.40282347e+38F,这是32位系统上CGFloat的最大值,这意味着它们的设置不正确。


PDFView配置

还有更多代码,显示了我如何配置PDFView

pdfView.document = document
pdfView.displayDirection = .horizontal
pdfView.autoScales = true
pdfView.usePageViewController(true, withViewOptions: nil)
pdfView.enableDataDetectors = false

pdfThumbnailView.thumbnailSize = CGSize(width: 44, height: 32)
pdfThumbnailView.pdfView = pdfView
pdfThumbnailView.layoutMode = .horizontal

转到PDFOutline

// Load the first outline element
let outline = document.outlineRoot?.child(at: 0)?.child(at: 0)
let destination = outline!.destination

// This way to access the destination yields in the same thing
let destinationViaAction = (outline?.action as? PDFActionGoTo)?.destination

// Nothing happens here...
pdfView.go(to: destinationViaAction!)
// nor here
pdfView.go(to: destination!)

问题

  1. PDFKit中的错误zoom的属性pointPDFDestination不能被这些现有的插入值正确计算吗?
  2. 我可以解析description中的PDFDestination并使用这些值吗?还是苹果会因为访问私人信息而拒绝我的应用程序?

更新

我向Apple提交了一个错误,得到回复后将更新此问题。

0 个答案:

没有答案