У меня есть PDF-файл технического чертежа, который содержит одну страницу с закладками, связывающими определенные области документа.
Когда я щелкаю по этим закладкам в Adobe Reader или Foxit Reader, он приближается к этомууказанная площадь.Но в Apple Preview.app, iBooks или iOS-приложении на основе PDFKit это не сработает.Даже PSPDFKit не может обрабатывать эти закладки.
Я создаю iOS-приложение на основе PDFView
, которое может обрабатывать эти закладки.Когда я отлаживаю свойство 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
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!)
Вопросы
- Является ли ошибкой в PDFKit то, что свойства
zoom
и point
из PDFDestination
неправильно рассчитаны по этим существующим врезным значениям? - Можно ли анализировать
description
из PDFDestination
и работать с этими значениями?Или Apple откажется от моего приложения из-за доступа к личной информации?
Обновление
Я сообщил об ошибке в Apple и обновлю этот вопрос, когда получу ответ.