文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

本文小编为大家详细介绍“H5界面怎么生成PDF格式进行输出”,内容详细,步骤清晰,细节处理妥当,希望这篇“H5界面怎么生成PDF格式进行输出”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

  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了.

读到这里,这篇“H5界面怎么生成PDF格式进行输出”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯