[发明专利]含图片网页的PDF转码方法、存储介质有效
申请号: | 202010009240.3 | 申请日: | 2020-01-06 |
公开(公告)号: | CN111243044B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 刘德建;陈铭;陈耀灿;郭玉湖;陈宏 | 申请(专利权)人: | 福建天泉教育科技有限公司 |
主分类号: | G06T9/00 | 分类号: | G06T9/00;G06F9/50;G06F16/957 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 柯玉珊 |
地址: | 350212 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图片 网页 pdf 方法 存储 介质 | ||
本发明提供包含图片网页的PDF转码方法、存储介质,方法包括:主线程遍历页面中的所有img标签,若当前遍历到的img标签的src属性对应远程地址,则创建一对应的子线程;子线程启动后,从主线程获取对应的远程地址;子线程依据所获取的远程地址加载对应的远程图片,并对其进行base64编码;子线程发送编码结果至主线程;主线程将子线程对应的img标签的src属性修改为所述编码结果。本发明不仅能显著提高转码性能,缩短转码所需时间,优化用户体验;而且能确保转码结果与当前的网页信息同步,提高转码的有效性;进一步地,还同时具备接口简单,代码改动少,以及内存占用更少等优点,因此实用性高。
技术领域
本发明涉及浏览器页面转码领域,具体涉及含图片网页的PDF转码方法、存储介质。
背景技术
当前业界将网页导出为PDF的主要流程是将网页绘制到canvas中,然后将canvas导出为图片,最后将该图片保存为PDF。
当网页中有图片的时候,默认是无法被导出为PDF的。原因是将网页绘制到canvas的时候,canvas无法绘制远程加载的图片,只能绘制本地缓存的图片(base64编码的图片)。所以在有PDF导出需求的网页里,普遍的做法是事先将图片编码(base64)后写死在代码中,这么做有几个缺点:1、代码中包含图片的base64编码,导致网页体积太大,特别是一个页面有多个图片或者单个图片非常大的时候;2、如果图片有更新的话,必须要重新编译和发布代码,导致代码缓存失败以及发布成本太高。
发明内容
本发明所要解决的技术问题是:提供含图片网页的PDF转码方法、存储介质,提升转码性能,优化用户体验。
为了解决上述技术问题,本发明采用的技术方案为:
含图片网页的PDF转码方法,包括:
主线程遍历页面中的所有img标签,若当前遍历到的img标签的src属性对应远程地址,则创建一对应的子线程;
子线程启动后,从主线程获取对应的远程地址;
子线程依据所获取的远程地址加载对应的远程图片,并对其进行base64编码;
子线程发送编码结果至主线程;
主线程将子线程对应的img标签的src属性修改为所述编码结果。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述含图片网页的PDF转码方法所包含的步骤。
本发明的有益效果在于:基于多线程异步执行,能够显著提高导出PDF的性能;接口简单,对原有代码的调整较小;无需预先对图片进行编码并写死在代码中,因而显著减少占用内存;远程图片的获取和编码同步进行,即使图片有更新,也同样能够保证转码结果的有效性,省去重新编译和发布代码的过程,不仅优化了用户体验,而且节省了大量成本。
附图说明
图1为本发明实施例一种含图片网页的PDF转码方法的流程示意图;
图2为本发明实施例二遍历过程的流程示意图;
图3为本发明实施例二执行远程加载和编码任务过程主线程与子线程的交互示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:基于多线程异步执行各图片的编码任务,显著提高转码效率;远程图片的获取和编码同步进行,保证转码结果的有效性。
本发明涉及的技术术语解释:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天泉教育科技有限公司,未经福建天泉教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010009240.3/2.html,转载请声明来源钻瓜专利网。