PDFDestination не дает мне нужную информацию (Apple PDFKit) - PullRequest
0 голосов
/ 07 декабря 2018

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

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

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

enter image description here

Также, когда я получаю доступ к свойству 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 Config

Вот еще несколько кодов, показывающих, как я настроил 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 и обновлю этот вопрос, когда получу ответ.

...