在底部使用UIImage创建多页PDF

时间:2013-08-12 10:23:53

标签: ios objective-c pdf uiimage

我需要在底部创建一个带签名(UIImage)的多页PDF。我还希望创建一条线,以便签名可以在一条线上。这是我到目前为止的代码:

- (IBAction)saveAsPDF:(id)sender
{
    NSMutableData *pdfData = [NSMutableData data];

    UIGraphicsBeginPDFContextToData(pdfData, CGRectMake(0, 0, 612, 792), nil);
    UIGraphicsBeginPDFPage();

    [nameTextField.text drawInRect:CGRectMake(50, 40, 512, 30) withFont:[UIFont systemFontOfSize:16] lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentCenter];
    [TextView.text drawInRect:CGRectMake(50, 90, 512, 672) withFont:[UIFont systemFontOfSize:12]];

    [SignatureImageView.image drawInRect:CGRectMake(30, 500, 190, 71)];

    UIGraphicsEndPDFContext();

    NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
    NSString* documentDirectory = [documentDirectories objectAtIndex:0];

    NSString* documentNameWithExtention = [NSString stringWithFormat:@"%@.pdf", nameTextField.text];
    NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:documentNameWithExtention];

    [pdfData writeToFile:documentDirectoryFilename atomically:YES];
}

所以,我需要知道如何使它成倍增长,我需要知道如何在正文文本的末尾添加签名。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

来自docs

  

您可以使用创建PDF图形上下文的功能   指定默认页面大小但不会自动打开页面。   创建上下文后,必须使用显式打开新页面   UIGraphicsBeginPDFPage或UIGraphicsBeginPDFPageWithInfo   功能。每次要创建新页面时,都必须调用   其中一个功能再次标记新页面的开头。该   UIGraphicsBeginPDFPage函数使用默认大小创建页面,   而UIGraphicsBeginPDFPageWithInfo函数允许您自定义   页面大小和其他页面属性。