如何将在iPhone上拍摄的屏幕截图转换为PDF文件。很容易截取屏幕截图并将其放入UIImage中,但这是我难倒的转换。我看了一下Quartz框架,它是Xcode中唯一一个我知道支持PDF格式的框架,但是找不到任何可以使它工作的东西。我缺少Xcode原生的东西吗?如果没有,是否有一个可以处理此类转换的公共框架?
答案 0 :(得分:1)
我明白了。它涉及将屏幕截图保存为UIImage,然后使用非常有用的教程here来帮助我进行PDF转换。事实证明,有一些函数可以在Core Graphics类中处理PDF文档的制作。
答案 1 :(得分:-1)
您不会将屏幕截图转换为PDF格式。您可以创建屏幕截图,创建pdf并将屏幕截图图像插入pdf的第一页。
用于创建图片的未经测试的代码:
nameStr = [NSString stringWithFormat:@"myImage.png"];
fileManager = [NSFileManager defaultManager];
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
documentsDirectory = [paths objectAtIndex:0];
namePath = [documentsDirectory stringByAppendingString:@"/"];
namePath = [thumbnailPath nameStr];
CGRect contextRect = CGRectMake(0, 0, 1024, 768);
UIGraphicsBeginImageContext(contextRect.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *data = UIImagePNGRepresentation(viewImage);
UIImage *myImage = [[UIImage alloc] initWithData:data];
将图片添加到pdf的未经测试的代码:
pageSize = CGSizeMake(1024, 768);
fileName = @"myFile.pdf";
pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);
[myImage drawInRect:CGRectMake( 0, 0, 1024, 768];
UIGraphicsEndPDFContext();
P.S。假设ipad 1024 x 768以上