将UIView /图形上下文拆分为区域

时间:2013-03-13 17:16:25

标签: ios objective-c pdf printing graphicscontext

我正在尝试将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”?

非常感谢。

1 个答案:

答案 0 :(得分:3)

尝试在启动每个页面时向上转换上下文。

CGContextBeginPDFPage();
CGContextTranslateCTM(pdfContext, 0.0, -782.0);
[self.receiptContentView.layer renderInContext:pdfContext];