CGPDFContextCreateWithURL无法正确创建上下文

时间:2010-03-23 20:42:01

标签: iphone objective-c pdf cgpdfcontext

使用以下代码,未正确创建ctx。它仍为nil

#import <QuartzCore/QuartzCore.h>

@implementation UIView(PDFWritingAdditions)

- (void)renderInPDFFile:(NSString*)path
{
    CGRect mediaBox = self.bounds;
    CGContextRef ctx = CGPDFContextCreateWithURL((CFURLRef)[NSURL URLWithString:path], &mediaBox, NULL);

    CGPDFContextBeginPage(ctx, NULL);
    CGContextScaleCTM(ctx, 1, -1);
    CGContextTranslateCTM(ctx, 0, -mediaBox.size.height);
    [self.layer renderInContext:ctx];
    CGPDFContextEndPage(ctx);
    CFRelease(ctx);
}

@end

在控制台中显示: <Error>: CGPDFContextCreate: failed to create PDF context delegate.

我尝试过几种不同的路径,所以我很确定这不是问题所在。谢谢你的建议!

1 个答案:

答案 0 :(得分:1)

如果您的字符串包含路径,则需要+ [NSURL fileURLWithPath:],而不是+ [NSURL URLWithString:]。