我正在尝试将Core Plot生成的所有图形的PDF保存到单个pdf文件中。因此,我迭代我的图形数组并将NSData pdfforeach图附加到pdfData,最后将Pdfdata写入文件。但是,只有图形数组中最后一个图形的pdf出现在书面文件中。我在这里错过了一些东西。
代码片段:
NSMutableData *pdfData = [[NSMutableData alloc] init];
for (CPTGraph *eachGraph in _graphsArray) {
NSData *pdfDataForGraph = [eachGraph dataForPDFRepresentationOfLayer];
if(pdfDataForGraph)
{
[pdfData appendData:pdfDataForGraph];
}
}
if(0 < pdfData.length)
{
NSLog(@"Content Present");
NSURL *documentPathUrl = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
NSString *pdfSaved = "example.pdf";
NSURL *pdfUrl = [documentPathUrl URLByAppendingPathComponent:pdfSaved];
[pdfData writeToURL:pdfUrl atomically:NO];
}
您不能只合并数据块 - 这不是PDF的工作方式。使用PDFKit并将每个新页面添加到新的输出文档。 StackOverflow上有几个问答,包括代码,例如:Merging PDF Files in Cocoa