【发布时间】:2020-03-02 04:59:43
【问题描述】:
我在获取 PDFDocument 中的页面大小时遇到问题。以下代码获取大小(宽度和高度),但结果不一致。它甚至可以在被测试的同一个 PDFDocument 中从页面到页面不一致。一个具体的例子是我有一个由 11"x17" 页面(矩形,横向)组成的 pdf 文档。有时,下面的代码给了我正确的尺寸,但宽度和高度是向后的,有时它会给宽度和高度提供相同的尺寸,从而形成正方形。有没有更好的方法从 PDFDocument 中获取页面的宽度和高度。最终,我正在从 PDFDocument 创建页面的 UIImage。那里的任何建议也会有所帮助。请帮忙。
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)
【问题讨论】:
-
试试
getBoxRect(.mediaBox) -
您不需要除以
dpi来得到从像素到英寸的信息吗? -
Leo - 是的,我应该得到 mediaBox 的大小,而不是 artBox。
-
Chris - 谢谢,但 dpi 只是在这里定义了分辨率,并不影响大小/尺寸。
标签: ios swift pdfview cgpdfdocument