核心图 PDF 保存
Core Plot PDF Saving
我正在尝试将 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 并将每个新页面添加到新的输出文档中。 Whosebug 上有几个带有代码的问答,例如这个:Merging PDF Files in Cocoa
我正在尝试将 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 并将每个新页面添加到新的输出文档中。 Whosebug 上有几个带有代码的问答,例如这个:Merging PDF Files in Cocoa