PDFDestination не дает мне нужную информацию (Apple PDFKit)

У меня есть PDF-файл технического чертежа, который содержит одну страницу с закладками, связывающими определенные области документа.

Когда я щелкаю по этим закладкам в Adobe Reader или Foxit Reader, он приближается к указанной области. Но в Apple Preview.app, iBooks или iOS-приложении на основе PDFKit это не сработает. Даже PSPDFKit не может справиться с этими закладками.

Я строю PDFView на основе iOS-приложения, которое может обрабатывать эти закладки. Когда я отлаживаю PDFOutline свойство, которое я вижу, что содержится PDFDestination Объект содержит информацию, но в приватных полях. Я могу смотреть их во время отладки.

Также, когда я получаю доступ к description собственность PDFDestination объект, я получаю следующее:

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

Но ценности zoom а также point вернуть 3.40282347e+38F что является максимальным значением CGFloat на 32-битных системах это означает, что они не установлены должным образом.


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 а также point из PDFDestination не правильно рассчитаны по этим существующим значениям врезки?
  2. Могу ли я разобрать description из PDFDestination и работать с этими ценностями? Или Apple откажется от моего приложения из-за доступа к личной информации?

Обновить

Я подал ошибку в Apple и обновлю этот вопрос, когда получу ответ.

0 ответов

Другие вопросы по тегам