2010-03-23 10 views
1

En utilisant le code suivant, le CTX est pas correctement en cours de création. Il reste nil:CGPDFContextCreateWithURL ne pas créer correctement le contexte

#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 

Dans la console il montre: <Error>: CGPDFContextCreate: failed to create PDF context delegate.

J'ai essayé plusieurs chemins différents, donc je suis assez certain que ce n'est pas le problème. Merci pour tout conseil!

Répondre

1

Si votre chaîne contient un chemin, vous voulez + [NSURL fileURLWithPath:], non + [NSURL URLWithString:].