2013-08-25 39 views
2

当我创建PDFUIWebView这样的:额外的空白页将HTML转换为PDF

UIPrintPageRenderer *render = [[UIPrintPageRenderer alloc] init]; 

[render addPrintFormatter:_webView.viewPrintFormatter startingAtPageAtIndex:0]; 

CGRect printableRect; 
CGRect paperRect; 
printableRect = CGRectMake(10, 5, kPaperSizeA4.width-20, kPaperSizeA4.height-10); 
paperRect = CGRectMake(0, 0, kPaperSizeA4.width, kPaperSizeA4.height); 
[render setValue:[NSValue valueWithCGRect:paperRect] forKey:@"paperRect"]; 
[render setValue:[NSValue valueWithCGRect:printableRect] forKey:@"printableRect"]; 

NSData *pdfData = [render printToPDF]; 
if (pdfData) { 
    BOOL isSuccess = [pdfData writeToFile:aStrDocDirPath atomically:YES]; 
    if (isSuccess) 
    { 
     NSLog(@"Created and Saved"); 
    } 
} 

现在的问题及其created PDF添加blank page

我参考Extra blank page when converting HTML to PDF using abcPDF。但在iOS我们如何摆脱它?

回答

4

相应改变:

首先A4 size是这样的:

#define kPaperSizeA4 CGSizeMake(595,842) 

将其改为:

#define kPaperSizeA4 CGSizeMake(595.2,841.8) 

现在的contentincreasedpage marginPDF

printableRect = CGRectMake(10, 18, kPaperSizeA4.width-20, kPaperSizeA4.height-36); 

参见更多Avoid extra blank page (with A4, in some unexpected cases

+0

救星 - 这就像一个魅力。 – GuybrushThreepwood

0

HTML转换为PDF时,我得到额外的空白的第一页的问题也。我正在使用FlyingSaucer进行HTML到PDF的转换。

我对我的HTML这个CSS定义:

@page Section1{ 
    size: 612.45pt 841.7pt; 
} 

div.Section1 { 
    page: Section1; 
} 

当我修改CSS定义为除去额外的页面:

@page { 
     size: 612.45pt 841.7pt; 
}