我正在尝试将一些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")
答案 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