我正在尝试将UIView打印为PDF格式。
问题是,如果UIView高于页面,它就会被切断。
所以我想做的是迭代UIView的“页面高度”并将它们作为PDF页面呈现。
这是我的代码:
UIGraphicsBeginPDFContextToData(pdfData, CGRectMake(0, 0, 400, 782), nil);
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
UIGraphicsBeginPDFPage();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[self.receiptContentView.layer renderInContext:pdfContext];
UIGraphicsBeginPDFPage();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[self.receiptContentView.layer renderInContext:pdfContext];
// remove PDF rendering context
UIGraphicsEndPDFContext();
显然目前它只是在每一页上呈现相同的东西。
我如何更改上面的代码,说“只打印第1页上的第一个782px,然后打印第2页的NEXT 782px”?
非常感谢。
答案 0 :(得分:3)
尝试在启动每个页面时向上转换上下文。
CGContextBeginPDFPage();
CGContextTranslateCTM(pdfContext, 0.0, -782.0);
[self.receiptContentView.layer renderInContext:pdfContext];