Получить размер страницы из PDFDocument iOS - PullRequest
1 голос
/ 05 ноября 2019

У меня проблемы с получением размера страницы в PDFDocument. Следующий код получает размер (ширину и высоту), но результаты противоречивы. Это может даже быть несовместимо со страницы на страницу в том же PDFDocument, который тестируется. Одним конкретным примером является то, что у меня есть PDF-документ, состоящий из 11 "x17" страниц (прямоугольная, альбомная ориентация)Иногда следующий код дает мне правильные размеры, но имеет ширину и высоту назад, а в других случаях он дает те же размеры для ширины и высоты, что приводит к квадратной форме. Есть ли лучший способ получить ширину и высоту страницы из PDFDocument. В конечном итоге я создаю UIImage страницы из PDFDocument. Любые предложения там тоже будут полезны. Пожалуйста помоги.

let page = pdfDocument?.page(at: pageIndex)
let pageRect = page?.bounds(for: .artBox)
let dpi: CGFloat = 300.00 / 72.0
let renderer = UIGraphicsImageRenderer(size: CGSize(width: (pageRect?.size.width)! * dpi, height: (pageRect?.size.height)! * dpi))
print("dpi =", dpi)
print("renderer width and height =", (pageRect?.size.width)! * dpi, "renderer height =", (pageRect?.size.height)! * dpi)

1 Ответ

0 голосов
/ 06 ноября 2019

MediaBox дает размер страницы, тогда как artBox дает размер рисунков на странице. Следующий код даст вам размер / размеры страницы PDFDocument.

let page = pdfDocument?.page(at: pageIndex)
let pageRect = page?.bounds(for: .media)

print("pdf page width =", (pageRect?.size.width)!, "pdf page height =", (pageRect?.size.height)!)
...