UIPrintPageRenderer 如何在 US-Letter 和 DIN-A4 格式之间切换
UIPrintPageRenderer how to switch between US-Letter and DIN-A4 format
我尝试实现自定义 PDF 渲染器,继承自 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)
...
谢谢
我认为您在为 pdfRenderer 调用 drawPage 方法时使用了错误的矩形。
很多例子都是这样的:
pdfRenderer.drawPage(at: i, in: UIGraphicsGetPDFContextBounds())
将 rect 用于 A4 格式而不是 UIGraphicsGetPDFContextBounds()
例如CGRect.init(x: 0, y: 0, 宽度: 595.2, 高度: 841.8)
我尝试实现自定义 PDF 渲染器,继承自 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)
...
谢谢
我认为您在为 pdfRenderer 调用 drawPage 方法时使用了错误的矩形。
很多例子都是这样的:
pdfRenderer.drawPage(at: i, in: UIGraphicsGetPDFContextBounds())
将 rect 用于 A4 格式而不是 UIGraphicsGetPDFContextBounds()
例如CGRect.init(x: 0, y: 0, 宽度: 595.2, 高度: 841.8)