从pdf上下文中获取pdf数据

时间:2012-06-02 18:15:34

标签: objective-c ios cgcontext

我对环境世界很陌生。

  1. 我使用以下方法创建pdfcontext:

    NSMutableData* pdfData = [ [[NSMutableData alloc] initWithLength:1000] retain];
    CGRect bounds = (CGRectMake(100, 100, 100, 100));
    NSDictionary* documentInfo = nil;
    UIGraphicsBeginPDFContextToData (pdfData,
                                 bounds,
                                 documentInfo);
    UIGraphicsBeginPDFPage();
    
  2. 然后我用不同的类绘制它

  3. 然后我发出

    UIGraphicsEndPDFContext();
    
  4. 当我完成绘画时。

    我不清楚的是如何从上下文中获取pdfData,以便将其作为NSData发送回调用者。任何帮助赞赏。我假设在我的方法中pdfData被保留在上下文中。 谢谢!

1 个答案:

答案 0 :(得分:1)

当您致电UIGraphicsEndPDFContext时,它会将PDF数据放入您提供的pdfData对象中。由于NSMutableDataNSData的子类,因此您只需将其返回给调用者即可。没有必要做任何其他事情。

另外,不要这样做:

NSMutableData* pdfData = [[[NSMutableData alloc] initWithLength:1000] retain];

alloc / init返回一个保留的对象。没有必要再保留它。此外,无需为数据指定大小 - 它将自动扩展。所以这样做:

NSMutableData* pdfData = [[NSMutableData alloc] init];