一种生成PDF文件的装置和方法制造方法及图纸

技术编号:2848070 阅读:187 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机应用领域,尤其涉及一种计算机中文件类型转换的装置和方法。一种生成PDF文件的装置其包括EMF文件生成模块和从EMF文件到PDF文件的转换器;该转换器包括EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块和PDF文件处理模块;上述各模块的数据传输顺序是EMF文件生成模块、EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块、PDF文件处理模块;另外,PDF文件处理模块提供函数接口给应用程序,以便应用程序向PDF文件中添加其他数据。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种计算机中文件类型转换的装置和方法。
技术介绍
PDF是一种文件格式的名称,该文件格式由美国Adobe公司专利技术,全称为Portable Document Format,简称为PDF。计算机已经渗透到我们工作和生活的方方面面,其中一个重要的领域就是日常办公,典型的,包括文字处理、电子表格应用和电子演示应用。用户编辑处理的各种数据,最终都以文件的形式保存下来,以便继续编辑、相互交换、归档保存,等等。通常,应用程序都使用开发商自己定义的文件格式来保存数据,对字处理软件而言,“所见即所得”已经成为一个必备的标准功能,即,用户在打印机上的输出结果与他在计算机屏幕上看到的效果是一致的。当文件编辑完成,在不同用户、不同计算机之间传送、分发时,文件的作者(或有关机构)显然也希望甚至要求无论在哪台计算机上,文件的展示效果都是完全相同的,与它最初编辑完成时的展示效果保持一致。这是种完全正常与合理的需求。但是,如果采用应用程序自有的格式进行存盘,这种需求通常却很难满足同样的文件,在不同的计算机上得到的展示结果未必是相同的,这就是所谓的“跑版”。典型的跑版现象包括在一台计算机上,某个字排在一行的行尾,在另一台计算机上,却排在了下一行的行首;在一台计算机上,文件的排版结果是总共15页,在另一台计算机上却变成了16页。在正式的应用场合,如政府文件下发、商业合同交换时,这种跑版现象是完全不能接受的。造成跑版的根本原因在于,应用程序使用自己的文件格式通常只保存了用户的原始数据,而排版工作是在文件编辑处理过程中动态进行的,许多因素都会对最终的排版结果造成影响,例如操作系统的不同、操作系统中安装的字体的不同、操作系统中安装的打印机及其驱动程序的不同、操作系统中安装的显卡及其驱动程序的不同,等等。因此,在不同的环境下要实现完全相同的排版结果,事实上极其困难,有时甚至是不可能的。有鉴于此,出现了一种特殊的文件格式Portable DocumentFormat,简称PDF。采用这种格式,配合Acrobat系列产品,就能做到任何一份PDF文件,无论在哪一台计算机上打开,都能获得完全相同的展示结果。当然,前提条件是在该计算机上可以运行Acrobat系列产品。由此,通过将文件以PDF格式保存,保证了文件在分发传送后展示效果的一致性,杜绝了跑版现象的产生。之所以能做到杜绝跑版,是因为在PDF文件中保存的并非用户的原始数据,而是最终的排版结果。例如在PDF文件中记录了每个字在页面上的精确位置。同时,PDF文件格式还采取了许多其他措施,例如将用户用到的字体嵌入到文件之中,等等,来确保文件展示效果的一致性。因为这种特性,PDF格式的使用越来越广泛,已经成为事实上的行业标准,许多应用程序,尤其是字处理程序,都在用户的要求下增加了对PDF文件格式的支持,以便用户将编辑的文件保存为PDF格式。目前,有两种可能的方法用于生成PDF文件。第一种方法,是由应用程序直接生成PDF文件。这种方法从逻辑上讲最简单直接,易于理解。但是,因为PDF格式事实上非常复杂,要直接生成PDF文件,就必须首先详细了解PDF格式的每一个细节,然后设计编写专用程序模块,用于生成PDF格式文件。这涉及庞大的工作量,对任何一个软件开发商而言都是一种难度极大,并且不太符合经济效益的做法。所以,这种方法事实上极少采用。第二种方法,是安装一个PDF文件打印程序。虽然这仅仅是个软件,但通常习惯上都将其称作PDF打印机。从用户的角度看,通过打印的形式将文件保存为PDF格式。具体的,是在开始打印时,用户不选择通常使用的普通打印机,而是在列表中选择PDF打印机,然后开始打印。这时,与PDF打印机对应的程序就会弹出对话框,要求用户告知要将被打印的内容保存为什么名字的PDF文件,在得到用户的反馈之后,即开始数据转换工作。最终,用户得到与打印内容对应的PDF文件。此方法所涉及的PDF打印程序可以由应用程序额外提供,也可以由用户自行安装,相当灵活。相对于第一种方法,这种方法的优点在于,应用程序本身无需理解PDF文件格式,无需进行额外工作,只需使用程序内部已有的打印模块,就能最终生成PDF文件。事实上,整个过程对应用程序而言是完全透明的,在应用程序看来,整个过程只是在进行一次普通的打印操作,完全不知道最终其实生成了一个PDF文件。这既是此方法的优点,另一方面,也成为其缺点。因为应用程序未做任何其他操作,因此,只能生成一个简单的PDF文件,其中只能包括基本的文字、图像和表格等数据,进一步的内容,如从目录/脚注/尾注到正文之间的链接、文件内部/文件之间的相互引用链接、指向互联网的超链接等等,都无法实现。
技术实现思路
本专利技术克服了现有技术中的不足,提供一种生成PDF文件的装置和方法,应用该装置和方法生成的PDF文件可有效确保源文件中的多种功能在PDF文档中的再现。为了解决上述技术问题,通过以下技术方案实现一种生成PDF文件的装置,其包括EMF文件生成模块和从EMF文件到PDF文件的转换器;该转换器包括EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块和PDF文件处理模块;上述各模块的数据传输顺序是EMF文件生成模块、EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块、PDF文件处理模块;另外,PDF文件处理模块提供函数接口给应用程序,以便应用程序向PDF文件中添加其他数据。一种使用前述装置生成PDF文件的方法,其包括如下过程a.应用程序调用操作系统提供的函数接口,以页为单位将排版结果保存为EMF格式文件,每一页对应生成一幅EMF图像;b.从EMF文件到PDF文件的转换器打开此EMF文件,从中逐条读出对操作系统函数接口(API)的调用,按照PDF格式的标准进行转换;当全部函数调用处理完毕之后,该EMF文件即被转换成为PDF文件中的一个页面c.判断是否已经处理完毕用户文件中的全部页面,若否,则回到步骤a,继续将新的一页保存为EMF格式文件;若是,则结束文件转换工作,进入步骤d;d.进行后期处理。本专利技术方法的核心在于首先由应用程序根据编辑的内容生成EMF格式文件,然后由专用的转换器将EMF格式转换为PDF格式。目前,有类似的程序将EMF文件转换为PDF文件,但是在转换过程中仅仅将EMF整个做为一个图像来处理,这样,无论在EMF中原来包含什么样的文字、表格等数据,在转换成PDF文件后,都整个变成一幅大的图片,不可能再对内部的内容进行操作,并且在打印输出时还会出现严重的锯齿现象,这些都是用户无法接受的。而本专利技术装置和方法因为是逐条对EMF文件进行详细处理,因此,在转换出的PDF文件页面中,用户的数据保留了其原本的各种属性,例如字体、字号、颜色、字间距、行间距,线长、线宽、线型,等等。使用相关的PDF编辑软件,用户可对这些内容进行进一步的编辑加工。附图说明图1是一幅典型的EMF图像;图2是EMF文件的结构图;图3是本专利技术生成PDF文件方法流程图;图4是本专利技术生成PDF文件装置结构及内部关系图。具体实施例方式首先介绍本专利技术涉及的中间文件EMF文件,EMF格式是由Windows操作系统提供的一种标准文件格式,其全称为EnhancedMet本文档来自技高网
...

【技术保护点】
一种生成PDF文件的装置,其特征在于,其包括EMF文件生成模块和从EMF文件到PDF文件的转换器;该转换器包括EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块和PDF文件处理模块;上述各模块的数据传输顺序是EMF文件生成模块、EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块、PDF文件处理模块;另外,PDF文件处理模块提供函数接口给应用程序,以便应用程序向PDF文件中添加其他数据。

【技术特征摘要】
1.一种生成PDF文件的装置,其特征在于,其包括EMF文件生成模块和从EMF文件到PDF文件的转换器;该转换器包括EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块和PDF文件处理模块;上述各模块的数据传输顺序是EMF文件生成模块、EMF文件处理模块、EMF文件记录遍历模块、从EMF文件到PDF格式转换模块、PDF文件处理模块;另外,PDF文件处理模块提供函数接口给应用程序,以便应用程序向PDF文件中添加其他数据。2.根据权利要求1所述的一种生成PDF文件的装置,其特征在于,所述EMF文件生成模块的输入数据为应用程序为绘制排版结果而发出的一系列操作系统图形设备接口函数调用,输出数据为EMF文件。3.根据权利要求1所述的一种生成PDF文件的装置,其特征在于,所述EMF文件处理模块的输入数据为EMF文件,输出数据为一系列供其他模块使用的参数和函数接口。4.根据权利要求1所述的一种生成PDF文件的装置,其特征在于,所述EMF文件记录遍历模块与EMF文件处理模块配合,将记录从EMF文件中逐条读出,该EMF文件记录遍历模块的输出数据是从EMF文件中读出的记录。5.根据权利要求1所述的一种生成PDF文件的装置,其特征在于,所述从EMF到PDF的格式转换模块的输入数据为EMF文件中的记录,输出数据为符合PDF格式标准的数据。6.根据权利要求1所述...

【专利技术属性】
技术研发人员:董波朱熠锷许式伟段雨洛万里
申请(专利权)人:珠海金山软件股份有限公司
类型:发明
国别省市:44[中国|广东]

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

1