如何在没有在iphone应用程序的目标c中截取uiwebview的截图或图像的情况下从html创建pdf?
当我创建pdf来捕获UIwebView的截图时,pdf分辨率看起来不太好。在放大或缩小其文本像素时会被破坏。
答案 0 :(得分:3)
Generate PDF from Html Page. 我希望这会帮助你。
答案 1 :(得分:2)
UIWebView
使用UIPrintPageRenderer
中的UIWebView
按照以下步骤操作:
Category
UIPrintPageRenderer
以获取PDF数据@interface UIPrintPageRenderer (PDF)
- (NSData*) printToPDF;
@end
@implementation UIPrintPageRenderer (PDF)
- (NSData*) printToPDF
{
NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData( pdfData, self.paperRect, nil );
[self prepareForDrawingPages: NSMakeRange(0, self.numberOfPages)];
CGRect bounds = UIGraphicsGetPDFContextBounds();
for ( int i = 0 ; i < self.numberOfPages ; i++ )
{
UIGraphicsBeginPDFPage();
[self drawPageAtIndex: i inRect: bounds];
}
UIGraphicsEndPDFContext();
return pdfData;
}
@end
#define kPaperSizeA4 CGSizeMake(595.2,841.8)
UIWebView's
webViewDidFinishLoad
delegate
使用UIPrintPageRenderer
的{{1}} property
。UIWebView
答案 2 :(得分:0)
Get a PDF/PNG as output from a UIWebView or UIView
这是一个很好的SO问题,具有相同的方法..
但是要以编程方式创建pdf,您可以从这里开始 在iPhone上生成PDF:
http://iphonesdksnippets.com/post/2009/02/13/Generate-PDF-on-iPhone.aspx
和
使用Quartz2d绘图:
答案 3 :(得分:0)
您可以使用石英核心在PDF上下文中绘制UIwebview,而不是将其作为屏幕截图。 Here是代码。