我有创建饼图的 iphone 应用程序,我希望该图表应保存在 iphone 的 pdf 文件中。
以下是 PieChart 的代码,但我如何将其保存为 pdf 我已阅读我们可以将文本保存为 pdf 但如何保存
-(void)createGraph{
PieClass *myPieClass=[[PieClass alloc]initWithFrame:CGRectMake(400,40, 320, 230)];
myPieClass.itemArray=[[NSArray alloc]initWithObjects:textFieldOne.text,textFieldTwo.text,textFieldThree.text, nil];
myPieClass.myColorArray=[[NSArray alloc]initWithObjects:[UIColor purpleColor],[UIColor redColor],[UIColor orangeColor], nil];
myPieClass.radius=100;
[self.view addSubview:myPieClass];
[self creatPDFFromView:@"mydata.pdf"];
}
-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
// 创建一个可变数据对象,用于使用二进制数据进行更新,例如字节数组
NSMutableData *pdfData = [NSMutableData data];
// 将 pdf 转换器指向可变数据对象和要转换的 UIView
UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// 将矩形绘制到视图中,因此这由 UIGraphicsBeginPDFContextToData 捕获
[aView.layer renderInContext:pdfContext];
// 移除 PDF 渲染上下文
UIGraphicsEndPDFContext();
// 从 iOS 设备检索文档目录
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
// 指示可变数据对象将其上下文写入磁盘上的文件
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
}