本技术涉及web前端领域,特别是涉及一种局部网页生成pdf的方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着web前端领域技术的发展,出现了html2canvas技术和puppeteer技术,html2canvas技术可以将局部网页生成图片,但图片中的文字无法执行选择、复制等pdf提供的操作能力,puppeteer技术只能针对完整网页生成pdf,综上可知,现有技术中还没有出现针对局部网页便捷生成pdf的方案。
2、因此,因此,有些保险业务办理等场景下,通常需要针对保险业务网页中的局部信息生成pdf,例如仅针对保险业务网页中的保险条款内容生成pdf,而现有技术的html2canvas技术生成的pdf不能提取文字,puppeteer技术只能生成完整网页pdf,均无法满足获得保险业务网页中的局部信息的pdf文件的需求。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种局部网页生成pdf的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种局部网页生成pdf的方法,应用于浏览器端,包括:
3、在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
4、基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,以触发后端服务器基于html字符串生成局部网页对应的pdf文件;
5、接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
6、在其中一个实施例中,保留其中局部网页的目标文档对象模型节点包括:过滤掉动态节点,保留其中的静态节点,得到局部网页的目标对象模型节点;动态节点包括script节点,静态节点包括link节点和style节点。
7、在其中一个实施例中,基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,包括:
8、根据目标文档对象模型节点生成对应的克隆html文档对象模型树,以及基于克隆html文档模型树,执行一次html文件输出方法,生成对应的html字符串;
9、将html字符串发送至后端服务器。
10、在一个示例性的实施例中,将html字符串发送至后端服务器,包括:
11、浏览器端发起http请求,通过http请求将与克隆html文档对象模型树对应的html字符串发送至后端服务器。
12、第二方面,本技术提供了一种局部网页生成pdf的系统,包括浏览器端和后端服务器,其中:
13、浏览器端,用于在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
14、浏览器端,还用于基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器;
15、后端服务器,用于基于与克隆html文档对象模型树对应的html字符串生成局部网页对应的pdf文件,并将pdf文件返回浏览器端;
16、浏览器端,还用于接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
17、在一个实施例中,后端服务器还用于:
18、使用puppeteer.launch方法启动一个无头浏览器实例并创建一个新页面,调用page.setcontent方法将与克隆html文档对象模型树对应的html字符串渲染到新页面,调用page.pdf方法将新页面的页面内容生成对应的pdf文件。
19、第三方面,本技术还提供了一种局部网页生成pdf的装置,应用于浏览器端,包括:
20、对象模型树遍历模块,用于在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
21、html字符串发送模块,用于基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,以触发后端服务器基于html字符串生成局部网页对应的pdf文件;
22、pdf文件接收模块,用于接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
23、第四方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
24、在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
25、基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,以触发后端服务器基于html字符串生成局部网页对应的pdf文件;
26、接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
27、第五方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
28、在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
29、基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,以触发后端服务器基于html字符串生成局部网页对应的pdf文件;
30、接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
31、第六方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
32、在接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,遍历业务信息网页的html文档对象模型树,过滤掉其中的非目标文档对象模型节点,保留其中局部网页的目标文档对象模型节点;
33、基于目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成克隆html文档对象模型树对应的html字符串发送至后端服务器,以触发后端服务器基于html字符串生成局部网页对应的pdf文件;
34、接收后端服务器返回的局部网页的pdf文件,并展示pdf文件。
35、上述局部网页生成pdf的方法、装置、计算机设备、存储介质和计算机程序产品,当接收到针对业务信息网页中局部网页生成pdf的操作请求的情况下,通过对整个网页的html文档对象模型树进行遍历,保留目标局部网页对应的html文档模型节点,之后基于目标局部网页对应的html文档模型节点得到克隆html目标文档对象模型树,并生成相应的html字符串返回服务器端,由服务器基于html字符串生成目标局部网页对应的pdf文件,浏览器端接收后端服务器发送的目标局部网页pdf文件并进行展示,满足了用户需要生成局部网页pdf文件的需求,且由此生成的局部网页pdf文件中的文字信息支持相关的编辑操作,提高了用户获得局部网页pdf文件的便捷性。
1.一种局部网页生成pdf的方法,其特征在于,应用于浏览器端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述保留其中所述局部网页的目标文档对象模型节点,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标文档对象模型节点生成对应的克隆html文档对象模型树,并生成所述克隆html文档对象模型树对应的html字符串发送至后端服务器,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述html字符串发送至所述后端服务器,包括:
5.一种局部网页生成pdf的系统,其特征在于,包括浏览器端和后端服务器,其中:
6.根据权利要求5所述的系统,其特征在于,所述后端服务器还用于:
7.一种局部网页生成pdf装置,其特征在于,应用于浏览器端,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。