Xcode将PDF保存为图像?

时间:2012-03-21 17:58:21

标签: iphone image

我有一个问题,是否可以将PDF保存到相机胶卷?我的意思是,我知道如何保存图片,但你也可以保存PDF吗?

4 个答案:

答案 0 :(得分:1)

作为@ jshin47 - 以下片段将帮助您:

将位于本地文档目录中的名为test.pdf的pdf转换为名为test.png的png。我在PDF中使用了A4尺寸,但如果您不在英国/欧洲,则可能需要使用美国字母尺寸。

NSString* localDocuments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
NSString* pdfPath = [localDocuments stringByAppendingPathComponent:@"test.pdf"];

// create a sample PDF (just for illustration)
UIGraphicsBeginPDFContextToFile(pdfPath, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
[@"Test string" drawInRect:CGRectMake(50, 50, 300, 200) withFont: [UIFont systemFontOfSize: 48.0]];
UIGraphicsEndPDFContext();

NSURL* url = [NSURL fileURLWithPath: pdfPath];

CGPDFDocumentRef document = CGPDFDocumentCreateWithURL ((CFURLRef) url);

UIGraphicsBeginImageContext(CGSizeMake(596,842));
CGContextRef currentContext = UIGraphicsGetCurrentContext();

CGContextTranslateCTM(currentContext, 0, 842);
CGContextScaleCTM(currentContext, 1.0, -1.0); // make sure the page is the right way up

CGPDFPageRef page = CGPDFDocumentGetPage (document, 1); // first page of PDF is page 1 (not zero)
CGContextDrawPDFPage (currentContext, page);  // draws the page in the graphics context

UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSString* imagePath = [localDocuments stringByAppendingPathComponent: @"test.png"];
[UIImagePNGRepresentation(image) writeToFile: imagePath atomically:YES];

UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); // do error checking in production code

答案 1 :(得分:0)

不,那是不可能的。 Apple仅允许将照片和视频存储在照片库中。 PDF格式的文件可以存储在iBooks或其他可以处理PDF的程序中,但照片库不能接受PDF的

答案 2 :(得分:0)

您可以将PDF转换为一组图像,然后将其导入到卷筒中。您无法将实际的PDF添加到论坛。

答案 3 :(得分:0)

如果你试图间接地做,并且有人试过它,你就无法查看它。 https://discussions.apple.com/thread/2479252

相机胶卷用于照片。 iBooks适用于PDF。