从第二个VC加载UIWebView并将其打印为PDF

时间:2014-07-07 04:16:11

标签: ios objective-c pdf uiwebview uigraphicscontext

我正在尝试使用大量数据创建PDF文件。 PDF有7页,包含文本,图像和图表,到目前为止工作正常。 现在我必须在其中一个PDF页面中添加一个html表。在那个ViewController中,我添加了一个WebView并尝试在后台加载数据,然后将其打印到文件中。 在呈现ViewController时,WebView会加载页面。但是我需要在没有呈现的情况下加载它,我当前的问题是UIWebView在PDF文件中保持白色:webViewDidStartLoad:(UIWebView *)webView没有被调用。

代码VC1:

PDFPage6ViewController *pdf2 = [self.storyboard instantiateViewControllerWithIdentifier:@"PDF6"];
pdf2.controlIdentifier = controlIdentifier;
pdf2.startDate = startDate;
pdf2.endDate = endDate;

UIGraphicsBeginPDFContextToData(pdfData, CGRectZero,nil);
CGContextRef pdfContext=UIGraphicsGetCurrentContext();
UIGraphicsBeginPDFPage();
[pdf2.view.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();

代码PDF2:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [self getDataFromDatabase];
}


- (void)getDataFromDatabase {
    /*loading data*/
    [self processData];
}

- (void)processData {
    /*doing some calculations*/
    NSString *html = /*creating the html string*/
    [webView loadHTMLString:html baseURL:nil];
}

0 个答案:

没有答案