我正在编写一个iPad应用程序,它使用带有页面控件的滚动视图。我需要创建一个作为1 PDF文件的所有页面的PDF。到目前为止,我认为我应该遍历所有的子视图(页面)并为每个子视图(页面)创建PDF文件(使用CGPDFContext)。但是我确实需要把所有的文件合并成一个PDF文档。你能帮我这样做吗?
或者,如果你有更好的方法来创建一个包含多个页面的PDF文档,那就更好了!
请帮帮忙。我到处搜索,看到Mac有一些使用PDFDocument,insertPage函数的东西。我找不到适用于iOS的类似方法??
发布于 2011-05-17 16:47:48
要创建多部分PDF,请执行以下操作:
-(CGContextRef) createPDFContext:(CGRect)inMediaBox path:(NSString *) path
{
CGContextRef myOutContext = NULL;
NSURL * url;
url = [NSURL fileURLWithPath:path];
if (url != NULL) {
myOutContext = CGPDFContextCreateWithURL (url,// 2
&inMediaBox,
NULL);
}
return myOutContext;// 4
}
-(void)createPdfFromScrollview:(UIScrollView *)scrollview
{
CGContextRef pdfContext = [self createPDFContext:CGRectMake(0, 0, WIDTH, HEIGHT) path:outputFilePath];
for(UIView * view in scrollview.subviews)
{
CGContextBeginPage (pdfContext,nil);
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(0, HEIGHT);
transform = CGAffineTransformScale(transform, 1.0, -1.0);
CGContextConcatCTM(pdfContext, transform);
//Draw view into PDF
[view.layer renderInContext:pdfContext];
CGContextEndPage (pdfContext);
}
CGContextRelease (pdfContext);
}希望这能有所帮助。
https://stackoverflow.com/questions/6028322
复制相似问题