是否可以在iOS中创建具有不同页面大小的pdf - Objective C?

时间:2016-01-05 23:55:46

标签: ios objective-c pdf core-graphics

我已经多次完成pdf,所有页面的大小相同。是否真的可以在iOS上进行混合尺寸PDF? (例如固定宽度和多个高度页面)

我发现了很多不和谐的答案,而且很少有关于特定平台功能的数据。

1 个答案:

答案 0 :(得分:0)

就像使用不同的媒体框添加每个页面一样简单。

// Start PDF file
NSMutableData *pdfFile = [[NSMutableData alloc] init];
CGDataConsumerRef pdfConsumer = CGDataConsumerCreateWithCFData((CFMutableDataRef)pdfFile);

CGRect mediaBox = CGRectMake(0, 0, pageSize.width, pageSize.height);
    CGContextRef pdfContext = CGPDFContextCreate(pdfConsumer, &mediaBox, NULL);

CGContextBeginPage(pdfContext, &mediaBox);

CGContextDrawImage(pdfContext, imageBox, [image CGImage]);
CGContextEndPage(pdfContext);

// Change mediabox

CGContextBeginPage(pdfContext, &mediaBox);
... etc....
CGContextEndPage(pdfContext);

// Close pdf

CGContextRelease(pdfContext);
CGDataConsumerRelease(pdfConsumer);