UIPrintPageRenderer, как переключаться между форматом US-Letter и DIN-A4
Я пытался реализовать пользовательский PDF-рендерер, унаследованный от UIPrintPageRenderer. Моя проблема заключается в том, что размер выходного документа PDF составляет 215,9 x 279,4 мм. Но правильные размеры DIN A4 мне нужны 210 х 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)
...
Спасибо
1 ответ
Решение
Я думаю, что вы используете неправильный прямоугольник при вызове метода drawPage для вашего pdfRenderer.
во многих примерах показано что-то вроде этого:
pdfRenderer.drawPage(at: i, in: UIGraphicsGetPDFContextBounds())
используйте прямоугольник для формата A4 вместо UIGraphicsGetPDFContextBounds()
например, CGRect.init(x: 0, y: 0, ширина: 595,2, высота: 841,8)