【问题标题】:UIPrintPageRenderer how to switch between US-Letter and DIN-A4 formatUIPrintPageRenderer 如何在 US-Letter 和 DIN-A4 格式之间切换
【发布时间】:2018-03-13 09:10:43
【问题描述】:

我尝试实现一个自定义的 PDF-Renderer,它继承自 UIPrintPageRenderer。我的问题是 PDF 的输出尺寸为 215,9 x 279,4 毫米。但我需要的正确 DIN A4 尺寸是 210 x 297 毫米。显然我得到的是美国信函而不是 DIN A4 的大小。如何将其更改为 DIN A4?

...
class PDFRenderer: UIPrintPageRenderer
{
    private let A4PageWidth : Double = 595.2
private let A4PageHeight : Double = 841.8
private let leftPadding: CGFloat = 18.0;

override init()
{
    super.init()

    let pageFrame : CGRect = CGRect(x: 0, y: 0, width: A4PageWidth, height: A4PageHeight)
...

谢谢

【问题讨论】:

  • 到目前为止我了解苹果文档,应用程序应该根据格式之间的区域设置自动切换。不幸的是,这并没有发生。

标签: ios swift uiprintpagerenderer uiprintformatter


【解决方案1】:

我认为您在为 pdfRenderer 调用 drawPage 方法时使用了错误的 rect。

许多示例显示如下:

pdfRenderer.drawPage(at: i, in: UIGraphicsGetPDFContextBounds()) 

将 rect 用于 A4 格式而不是 UIGraphicsGetPDFContextBounds()

例如CGRect.init(x: 0, y: 0, 宽度: 595.2, 高度: 841.8)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2016-08-25
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2017-10-05
    相关资源
    最近更新 更多