热门关键字:
jquery > jquery教程 > jquery教程 > H5界面生成PDF格式进行输出

H5界面生成PDF格式进行输出

372
作者:管理员
发布时间:2021/7/19 15:43:38
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=5107
  H5界面生成PDF需要的俩中形式:


  1:图片的形式的保存.


  主要是截取H5界面的所有内容,是图片形式的,然后生成PDF格式.


  2:截取H5界面字符串和图片


  保存的所有的字和图片,进行拼装,然后以不同样式进行保存PDF格式


  第一种方法很只是简单的操作就可以,但是满足不了需求,只能选择第二个.


  但是第2个截取保存数据和图片,自己写一套的话,工作量很大的.


  利用系统里面的UIWebView


  iOS开发人员都太熟悉不过了吧,哈哈,都是用这个方法


  [UIWebView loadHTMLString:@"" baseURL:@""];


  进行加载H5界面所有文字和图片.


  然后进行下面的方法进行保存数据到本地


  这个是UIWebVIew扩展类,自己写就行


  - (NSData *)converToPDF{


  UIViewPrintFormatter *fmt = [self viewPrintFormatter];


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


  [render addPrintFormatter:fmt startingAtPageAtIndex:0];


  CGRect page;


  page.origin.x=0;


  page.origin.y=0;


  page.size.width=600;


  page.size.height=768;


  CGRect printable=CGRectInset( page, 50, 50 );


  [render setValue:[NSValue valueWithCGRect:page] forKey:@"paperRect"];


  [render setValue:[NSValue valueWithCGRect:printable] forKey:@"printableRect"];


  NSMutableData * pdfData = [NSMutableData data];


  UIGraphicsBeginPDFContextToData( pdfData, CGRectZero, nil );


  for (NSInteger i=0; i < [render numberOfPages]; i++)


  {


  UIGraphicsBeginPDFPage();


  CGRect bounds = UIGraphicsGetPDFContextBounds();


  [render drawPageAtIndex:i inRect:bounds];


  }


  UIGraphicsEndPDFContext();


  return pdfData;


  }


  //点击保存进行调用上面的方法


  - (void)savePDF


  {


  NSData *data = [_webView converToPDF]; 调用上面的方法


  NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/testFile.pdf"]];


  BOOL result = [data writeToFile:path atomically:YES];


  [MBProgressHUD hideHUD];


  if (result) {


  "保存成功"


  }else{


  "保存失败";


  }


  从本地获取路径进行显示PDF


  NSURL *pdfURL = [NSURL fileURLWithPath:path];


  NSURLRequest *request = [NSURLRequest requestWithURL:pdfURL];


  [self.webView setScalesPageToFit:YES];


  [self.webView loadRequest:request];


  }


  接着从本地打开就ok了.




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐