一种从图片快速生成动态PDF文件的方法技术

技术编号:20025923 阅读:22 留言:0更新日期:2019-01-06 04:45
本发明专利技术提供一种从图片快速生成动态PDF文件的方法,包括以下步骤:对原始图片进行预处理;将所述空白图片模版作为布局背景,在所述空白图片模版上面新建一个与所述空白图片模版完全相同的图层,该图层称为处理图层;切片;将各个切片导出形成一个HTML文档;定义动态数据存储数据库;将动态数据写入HTML文档,利用HTML转PDF插件将HTML文档生成PDF文件。优点为:本发明专利技术简单易行,快速方便,样式误差几乎为零,可以应付非常复杂的动态图片内容转PDF的需求,具有图片内容转PDF的效率非常高的优点。

【技术实现步骤摘要】
一种从图片快速生成动态PDF文件的方法
本专利技术属于PDF文件生成
,具体涉及一种从图片快速生成动态PDF文件的方法。
技术介绍
PDF(portabledocumentformat)文件是用于电子文档分发的理想格式,是全球电子文档分发的开放式标准。PDF格式文件目前已成为数字化信息事实上的一个工业标准,它的跨媒体、跨平台、安全性使其在网络中应用越来越广泛,对其研究显得日益重要。目前,常常存在以下使用需求:将给定的一张或者多张JPG、BMP、PNG等格式的图片,转换成对应的PDF文件,同时要求图片中的文字、数字或者部分图片内容被动态修改。传统方式中,在将图片生成动态PDF文件时,采用的主要方法为:使用某种计算机语言,研究提供的图片格式,参考PDF文件的格式要求,一行一行的生成对应的PDF文件。此种方式虽然可行,但需要花费大量的人力物力,动态PDF文件生成的效率较低。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供一种从图片快速生成动态PDF文件的方法,可有效解决上述问题。本专利技术采用的技术方案如下:本专利技术提供一种从图片快速生成动态PDF文件的方法,包括以下步骤:步骤1,读取需要处理的原始图片,对所述原始图片进行预处理,清空原始图片中需要填充动态数据的位置所对应的数据,保留原始图片中的固定模板数据,得到空白图片模版;步骤2,将所述空白图片模版作为布局背景,在所述空白图片模版上面新建一个与所述空白图片模版完全相同的图层,该图层称为处理图层;步骤3,在所述处理图层上,确定需要填充动态数据的位置区域,每个位置区域仅可单次填充一个动态数据;然后,对每个位置区域进行切片处理,从而得到M个切片,M为自然数;每个切片具有切片序号;同时,每个切片序号对应的切片具有以下属性:切片长度、切片宽度、切片中心点在处理图层中的横纵坐标、切片处理模式;所述切片处理模式包括正常处理模式和特殊处理模式;如果为特殊处理模式,此处绑定特殊处理方式;然后,将各个切片导出形成一个HTML文档;将切片的属性导出到切片属性表中;步骤4,定义动态数据存储数据库;所述动态数据存储数据库包括数据结构以及动态数据值;其中,所述数据结构是指:对于每个切片,均定义对应的一个数据结构,所述数据结构为切片可填充的数据类型,包括数字、文字或图片,由此形成二维数组[切片序号,数据类型];然后,每个数据类型下面读入N组需要填充的动态数据,由此形成多维数组[切片序号,动态数据1、动态数据2…动态数据N],进而形成动态数据存储数据库;步骤5,令i=1;i为每个切片序号对应的动态数据的序号;步骤6,令j=1;其中,j为切片序号;步骤7,采用脚本读取第j个切片对应的第i个动态数据,再通过读取切片属性表,获得第j个切片对应的切片处理模式;如果为正常处理模式,则直接将读取到的动态数据填充到步骤3形成的HTML文档中的对应切片的中心位置;如果为特殊处理模式,则首先读取切片属性表,得到对应切片的属性;再采用所述特殊处理模式对读取到的动态数据进行特殊处理,并将特殊处理后的动态数据填充到步骤3形成的HTML文档中的对应切片内;步骤8,令j=j+1,判断j是否大于M;如果大于,则执行步骤9;如果不大于,则返回执行步骤7;步骤9,由此得到已填充动态数据的HTML文档;利用HTML转PDF插件将HTML文档生成PDF文件,由此得到一个PDF文件;步骤10,令i=i+1,判断i是否大于N;如果大于,则执行步骤11;如果不大于,则返回执行步骤7;步骤11,由此得到N个PDF文件。优选的,步骤3中,所述特殊处理模式包括点图生成处理模式和度数图生成处理模式。优选的,步骤7中,采用所述特殊处理模式对读取到的动态数据进行特殊处理,并将特殊处理后的动态数据填充到步骤3形成的HTML文档中的对应切片内,具体为:如果为点图生成处理模式,则在读取到切片对应的动态数据后,根据百分数转换公式,将动态数据转换为百分数,并在对应切片的纵中轴线上,定位到对应的百分数位置,在对应的百分数位置按设定参数绘制特殊符号,进而完成将特殊处理后的动态数据填充到步骤3形成的HTML文档中的对应切片内的操作。优选的,步骤3中,将各个切片导出形成的HTML文档中,包括M个切片,并且,每个切片具有一个HTML标签img;在步骤7中,将读取到的动态数据填充到步骤3形成的HTML文档中的对应切片的中心位置,具体为:首先将切片对应的标签img隐藏,然后再向标签img后的切片的中心位置填充动态数据。本专利技术提供的一种从图片快速生成动态PDF文件的方法具有以下优点:本专利技术简单易行,快速方便,样式误差几乎为零,可以应付非常复杂的动态图片内容转PDF的需求,具有图片内容转PDF的效率非常高的优点。附图说明图1为本专利技术提供的一种从图片快速生成动态PDF文件的方法的流程示意图;图2为需要处理的原始图片的一种具体示例;图3为图2进行预处理后得到的空白图片模版的示例图;图4为切片过程示意图;图5为最终生成的一个PDF文件的示例图。具体实施方式为了使本专利技术所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种从图片快速生成动态PDF文件的方法,参考图1,包括以下步骤:步骤1,读取需要处理的原始图片,对所述原始图片进行预处理,清空原始图片中需要填充动态数据的位置所对应的数据,保留原始图片中的固定模板数据,得到空白图片模版;如图2所示,为需要处理的原始图片的一种具体示例;该表为一个调查问卷表,对于某一个被调查人小王,共对其四项能力进行测验,其常识得分为12分,视觉拼图得分为10分,算术得分为11分,译码得分为12分。并且,在图2中,还生成对应的点图,从而能够直观的表现出这四项能力的高低关系。因此,对于不同的被调查人,显然需要改变图2中的8个动态数据,分别为:12、10、11、12这四个数字以及四个对应的大黑点。因此,对图2进行处理后,可得到图3所示的空白图片模版。步骤2,将所述空白图片模版作为布局背景,在所述空白图片模版上面新建一个与所述空白图片模版完全相同的图层,该图层称为处理图层;步骤3,在所述处理图层上,确定需要填充动态数据的位置区域,每个位置区域仅可单次填充一个动态数据;然后,对每个位置区域进行切片处理,从而得到M个切片,M为自然数;每个切片具有切片序号;同时,每个切片序号对应的切片具有以下属性:切片长度、切片宽度、切片中心点在处理图层中的横纵坐标、切片处理模式;所述切片处理模式包括正常处理模式和特殊处理模式;如果为特殊处理模式,此处绑定特殊处理方式;然后,将各个切片导出形成一个HTML文档;将切片的属性导出到切片属性表中;参考图4,共得到8个切片,其序号分别为1、2、3…8。第个切片所对应的区域见图4中的粗线实。即:1、2、3和4号切片对应的位置区域为一个小单元格。而5、6、7和8号切片对应的位置区域为竖形大单元格。本步骤中,所述特殊处理模式包括点图生成处理模式和度数图生成处理模式等。在图4中,1、2、3和4号切片为正常处理模式;5、6、7和8号切片为点图生成处理模式。步骤4,定义动态数据存储数据库;所述动态数据存储数据本文档来自技高网...

【技术保护点】
1.一种从图片快速生成动态PDF文件的方法,其特征在于,包括以下步骤:步骤1,读取需要处理的原始图片,对所述原始图片进行预处理,清空原始图片中需要填充动态数据的位置所对应的数据,保留原始图片中的固定模板数据,得到空白图片模版;步骤2,将所述空白图片模版作为布局背景,在所述空白图片模版上面新建一个与所述空白图片模版完全相同的图层,该图层称为处理图层;步骤3,在所述处理图层上,确定需要填充动态数据的位置区域,每个位置区域仅可单次填充一个动态数据;然后,对每个位置区域进行切片处理,从而得到M个切片,M为自然数;每个切片具有切片序号;同时,每个切片序号对应的切片具有以下属性:切片长度、切片宽度、切片中心点在处理图层中的横纵坐标、切片处理模式;所述切片处理模式包括正常处理模式和特殊处理模式;如果为特殊处理模式,此处绑定特殊处理方式;然后,将各个切片导出形成一个HTML文档;将切片的属性导出到切片属性表中;步骤4,定义动态数据存储数据库;所述动态数据存储数据库包括数据结构以及动态数据值;其中,所述数据结构是指:对于每个切片,均定义对应的一个数据结构,所述数据结构为切片可填充的数据类型,包括数字、文字或图片,由此形成二维数组[切片序号,数据类型];然后,每个数据类型下面读入N组需要填充的动态数据,由此形成多维数组[切片序号,动态数据1、动态数据2…动态数据N],进而形成动态数据存储数据库;步骤5,令i=1;i为每个切片序号对应的动态数据的序号;步骤6,令j=1;其中,j为切片序号;步骤7,采用脚本读取第j个切片对应的第i个动态数据,再通过读取切片属性表,获得第j个切片对应的切片处理模式;如果为正常处理模式,则直接将读取到的动态数据填充到步骤3形成的HTML文档中的对应切片的中心位置;如果为特殊处理模式,则首先读取切片属性表,得到对应切片的属性;再采用所述特殊处理模式对读取到的动态数据进行特殊处理,并将特殊处理后的动态数据填充到步骤3形成的HTML文档中的对应切片内;步骤8,令j=j+1,判断j是否大于M;如果大于,则执行步骤9;如果不大于,则返回执行步骤7;步骤9,由此得到已填充动态数据的HTML文档;利用HTML转PDF插件将HTML文档生成PDF文件,由此得到一个PDF文件;步骤10,令i=i+1,判断i是否大于N;如果大于,则执行步骤11;如果不大于,则返回执行步骤7;步骤11,由此得到N个PDF文件。...

【技术特征摘要】
1.一种从图片快速生成动态PDF文件的方法,其特征在于,包括以下步骤:步骤1,读取需要处理的原始图片,对所述原始图片进行预处理,清空原始图片中需要填充动态数据的位置所对应的数据,保留原始图片中的固定模板数据,得到空白图片模版;步骤2,将所述空白图片模版作为布局背景,在所述空白图片模版上面新建一个与所述空白图片模版完全相同的图层,该图层称为处理图层;步骤3,在所述处理图层上,确定需要填充动态数据的位置区域,每个位置区域仅可单次填充一个动态数据;然后,对每个位置区域进行切片处理,从而得到M个切片,M为自然数;每个切片具有切片序号;同时,每个切片序号对应的切片具有以下属性:切片长度、切片宽度、切片中心点在处理图层中的横纵坐标、切片处理模式;所述切片处理模式包括正常处理模式和特殊处理模式;如果为特殊处理模式,此处绑定特殊处理方式;然后,将各个切片导出形成一个HTML文档;将切片的属性导出到切片属性表中;步骤4,定义动态数据存储数据库;所述动态数据存储数据库包括数据结构以及动态数据值;其中,所述数据结构是指:对于每个切片,均定义对应的一个数据结构,所述数据结构为切片可填充的数据类型,包括数字、文字或图片,由此形成二维数组[切片序号,数据类型];然后,每个数据类型下面读入N组需要填充的动态数据,由此形成多维数组[切片序号,动态数据1、动态数据2…动态数据N],进而形成动态数据存储数据库;步骤5,令i=1;i为每个切片序号对应的动态数据的序号;步骤6,令j=1;其中,j为切片序号;步骤7,采用脚本读取第j个切片对应的第i个动态数据,再通过读取切片属性表,获得第j个切片对应的切片处理模式;如果为正常处理模式,则直接将读取到的动态数据填充到步骤3形成的HTML文档中的对应切片的中心位置;如果为特殊处理...

【专利技术属性】
技术研发人员:蔡勇方传煜陈沐腾
申请(专利权)人:珠海市圈宝网络科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1