UIPrintPageRenderer纸张尺寸不变

时间:2018-02-09 09:30:12

标签: swift uiprintpagerenderer

我正在尝试将一些HTML转换为PDF文档以保存在我的后端。但是,我无法设置打印渲染器的纸张大小。即使我更改了纸张,纸张尺寸也始终保持为A4。 - 我需要纸张尺寸为A6。有什么想法吗?

let pageFrame = CGRect(x: 0.0, y: 0.0, width: 595.2, height: 600)

// Set the page frame.
self.setValue(NSValue(cgRect: pageFrame), forKey: "paperRect")

2 个答案:

答案 0 :(得分:0)

尝试使用UIGraphicsPDFRenderer代替UIPrintPageRenderer。您可以使用[{3}}

功能制作包含自定义尺寸的网页
let pdf = renderer.pdfData { (context) in
    context.beginPage(withBounds: CGRect(x: 0.0, y: 0.0, width: 595.2, height: 600), pageInfo: [:])

    drawYourHTML(on: context) // Implement this function like what you want

}

答案 1 :(得分:0)

您可以通过设置paperRect来正确地进行操作。但是,您可能调用了默认UIGraphicsBeginPDFPage()来配置每页,它使用的是A4纸张尺寸之类的默认值。尝试使用UIGraphicsBeginPDFPageWithInfo(paperRect, nil),因为您已经拥有paperRect

参考:https://developer.apple.com/documentation/uikit/1623915-uigraphicsbeginpdfpagewithinfo