【问题标题】:Get Page Size From PDFDocument iOS从 PDFDocument iOS 获取页面大小
【发布时间】: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


【解决方案1】:

mediaBox 给出页面的大小,而 artBox 给出页面上绘图的大小。以下代码将为您提供 PDFDocument 页面的大小/尺寸。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 2014-05-13
    • 2011-02-25
    • 1970-01-01
    • 2019-01-02
    • 2013-11-26
    相关资源
    最近更新 更多