用于pdf文件的属性处理方法及装置的制作方法

文档序号:6339877阅读:255来源:国知局

专利名称::用于pdf文件的属性处理方法及装置的制作方法
技术领域
:本发明涉及印刷领域,具体而言,涉及用于PDF(PortableDocumentR)rmat,可携带文档格式)文件的属性处理方法及装置。
背景技术
:在针对印刷行业软件的测试过程中,经常需要从已有的大量PDF格式的样例文件中选择出具备某种特定属性(key)或某些特定属性集的PDF文件进行针对性的测试活动。目前,筛选出特定属性的PDF文件的方法有两种一是通过在制作PDF文件后通过文件名直接表示出该文件具备哪些重要的属性,日后通过文件名去进行筛选。但此种方法由于系统的文件名长度和所用字符都有较严格的限制,因此不能列出太多的属性,且查询起来对于组合属性的筛选不好实现。另外一种方法是每次进行测试时,均人工地打开每一个PDF文件,逐一查看其属性,这个过程相当费时,效率很低。由于这类的测试活动比较频繁,而且时间周期上有严格的要求,因此现有技术的两种方法都不可行。
发明内容本发明旨在提供一种用于PDF文件的属性处理方法和装置,以解决现有的PDF文件属性筛选方法效率很低的问题。在本发明的实施例中,提供了一种用于PDF文件的属性处理方法,包括以下步骤获取PDF文件的属性;将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。在本发明的实施例中,还提供了一种用于PDF文件的属性处理装置,包括获取模块,用于获取PDF文件的属性;记录模块,用于将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。上述实施例的用于PDF文件的属性处理方法和装置因为采用数据库记录PDF文件属性,便于日后的查询,所以克服了现有的PDF文件属性筛选方法效率很低的问题,因此节约了人工成本,提高了效率。此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出了根据本发明一个实施例的用于PDF文件的属性处理方法的流程图;图2示出了根据本发明优选实施例的用于PDF文件的属性处理方法的流程图;图3示出了根据本发明一个实施例的用于PDF文件的属性处理装置的示意图;图4示出了根据本发明优选实施例的用于PDF文件的属性处理装置的示意图。具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。图1示出了根据本发明一个实施例的用于PDF文件的属性处理方法的流程图,包括以下步骤步骤S10,获取PDF文件的属性;步骤S20,将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。现有技术中,每次进行测试时,均人工地打开每一个PDF文件,逐一查看其属性,这个过程相当费时,效率很低。而该属性处理方法因为采用数据库记录PDF文件属性,便于日后的查询,所以无需每次进行测试时再人工地打开每一个PDF文件,克服了现有的PDF文件属性筛选方法效率很低的问题,因此节约了人工成本,提高了效率。优选地,步骤SlO包括解析PDF文件得到头文件、内容流(contents)和文件字典;从头文件、内容流和文件字典中获取PDF文件的属性。上述解析过程因为可以通过执行计算机软件来实现,从而彻底地取消了人工分析PDF文件的过程,大大地减轻了人工成本,显著地提高了效率。当然,作为本发明的基本实施例,也可以通过人工分析的方式来获取PDF文件的属性。优选地,从头文件、内容流和文件字典中获取PDF文件的属性包括遍历头文件、内容流和文件字典中的所有字典对象,在遍历过程中判断遍历的字典对象是否具有预先设置的属性字典中的属性。本优选实施例中,采用属性字典来预设需要搜索的属性,从而提高了程序查找PDF属性的速度。优选地,用于PDF文件的属性处理方法还包括预先设置属性字典,其中将期望测试PDF文件的特定属性作为用于搜索的属性加入到属性字典中。在该优选实施例中,因为根据测试PDF文件的目的来预先设置属性字典,从而可以确保进行PDF属性分析处理的结果能够用于PDF文件的测试。另外,因为可以人为地设置属性字典,即可调整PDF属性分析处理的过程,所以当测试目的发生变化时,无需对PDF属性分析处理的过程进行调整,只需简单地更新属性字典即可。因为属性字典是根据需要定制的,因此扩展性也比较强,如果有了新增的属性要求只需要修改字典重新利用本系统进行PDF文件解析入库即可。优选地,在遍历过程中判断遍历的字典对象是否具有预先设置的属性字典中的属性包括对于当前遍历到的字典对象,判断其是否具有属性字典的属性中尚未确定PDF文件已经具有的属性,而属性字典的属性中确定PDF文件已经具有的属性则不再进行判断。根据本优选实施例,当属性字典包括多个属性时,如果已经在遍历PDF文件的字典对象过程中,确定某个字典对象具有属性字典的某个属性时,那么在接下来的字典对象遍历过程中,就无需在判断该已经被确定了属性,而只需判断PDF文件是否具有属性字典的其他属性。这样做显然提高了程序执行效率,当PDF文件数量特别多时,能够显著地加快属性处理速度。优选地,步骤SlO包括从输入的字符串中获取路径;遍历路径中的所有PDF文件,以获取遍历的每个PDF文件的属性。根据该优选实施例,用户只需输入一个路径,就能自动地对路径中所有的PDF文件进行属性处理,减轻了用户手工操作的负担,提高了工作效率。优选地,属性包括以下至少之一文档类型、PDF版本、是否预分色文件、总页数、是否存在Outputhtent、是否按流方式提交、是否处理OptionalContent、是否解析AnnotationProcessed、文件是否加密、是否为飞腾加密、PDFXVersion、交叉引用表是否为流对象、是否多个交叉引用、存在流对象的Content、存在数组对象的Content、存在空对象的Content、注释内容属性注释类型(WidgetType、Link、FreeText、CirCle、Polygon、Ployline、Highlight、Underline、Squiggly、StrikeOut、Stamp、Caret、Ink、FileAttachment、sound、Movie、PrinterMark、TrapNet,WaterMark,ThreeD)、Widge是否可以输出、AP字典内N对象类型(流对象、词典对象、其它对象)、可选内容属性可选对象类型(oCG、OCMenberShip)、是否有MemberSiip决定oC状态、OC状态(ON、OFF、UnDenfined)、Membership计算规则(VE、ΑΝΥ0Ν、ANYOFF,ALL0N、ALL0FF)、图像对象属性图像类型(Normal、Inlinelmage、Mask、explictMask、ColorkeyMasKSmask)、位深(1、2、4、6、8、16)、是否存在线高为1的图像、是否存在线宽为1的图像、X方向分辨率、Y方向分辨率、是否存在缺省的Decode、呈色意向、叠印模式、是否叠印、是否前端组装、图像处理类型、是否前端变倍、图像变倍算法、是否从左向右扫描、是否从上向下扫描、trasfer类型、是否裁切、色面数量、是否变形、是否含有UCR、是否含有BG、挂网类型、挂网中是否存在Transfer、挂网Spot函数类型、bHasTwoSquaresThreshold)、渐变属性渐变类型、是否定义了背景颜色、叠印模式、是否定义了BBox、是否含有UCR、是否为类型2的I^ttern、Transfer类型、是否多输出函数、是否叠印、是否含有BG、函数类型、是否多输出、是否多输入、是否存在Range项、路径属性路径类型、是否存在闭合SubPath、是否存在曲线、是否存在零向量、是否存在定点数越界、绘制操作符、Trasfer类型、是否叠印、是否含有UCR、是否存在多个SubPath、是否存在不闭合SubPath、是否被缓冲、Flatness是否比默认值小、存在接近垂直/水平直线、叠印模式、Flatness且是否为曲线、是否含有BG、字体属性字体类型(TypeO、TypeUType3、TrueType)、字体名称、基础字体名称、字体编码类型、宽度表类型、字体文件是否内嵌、字体I^aintType、是否合成粗体效果、是否合成斜体效果、是否OpenType字体、是否非间接引用对象、是否Symbolic类型的字体)、隐藏图元属性(具有OC属性的图元类型、被隐藏图元类型(StrokeElement,FillElement、TextElement、ShadingElement、XobjectElement)、是否在MarkedContent中嵌套多层)、字体内容属性TextRenderMode、TextKnockOut、是否存在要进cache的Type3字符、是否存在不进cache的Type3字符、是否存在包含Image的Type3字符、是否存在包含i^orm的Type3字符、是否存在包含Rmt的Type3字符、是否存在包含seac指令的Typel字符、是否存在包含MemHint的Typel字符、是否存在包含CounterHint的Typel字符、字典中的宽度表信息是否与字体文件中的度量信息不一致、TransferType、是否存在包含Instruction的TrueType字符、是否含有UCR、叠印模式、是否含有UCR、是否含有BG、是否叠印、字体类型色彩空间类型CS_DeviceGray、CS_DeviceRGB、CS_DeviceCMYK、CS_CalGray>CS_CalRGB、CS_ICCBased、CS_Separation、CS_DeviceN>CS_Indexed、CS_Lab、CS_Pattern、函数属性函数类型(SampleFunc、ExpFunc,StitchFunc、PSFunc)、是否多输出、是否多输入、是否存在Range项、透明属性透明组内图元、图元含有专色、含有softlmageMask、父透明属性、透明组自身属性(Isolated、Konckout,PageGroup)、透明图像状态属性(BlendMode、AIS、0P、0PM、SoftMask类型、背景色)、FilterTypeASCIIHEX、6ASCII85、RLE、LZW、FLATE,FAX、DCT,JBIG2、CRYPT、SUBFILE、RESTREAM、SPECIAL、JPX。本发明优选实施例包括但不限定于上述属性。图2示出了根据本发明优选实施例的用于PDF文件的属性处理方法的流程图,该优选实施例综合了上述各个实施例的方案。对于一个用户输入的字符串,为了将其所包含的所有路径中的全部PDF文件进行自动地属性解析对比,生成数据库记录进行统一管理,如图2所示的步骤完成如下处理步骤Sl根据输入的字符串,拆分获取有效的路径。步骤S2遍历路径中的所有PDF文件。步骤S3将遍历的每一个文件逐一进行解析处理。步骤S4对解析的当前PDF文件执行以下操作步骤S41分析PDF文件字典对象执行以下操作步骤S411获取PDF文件的字典对象。步骤S412在PDF字典对象中查找是否包含指定的属性。步骤S413记录搜索结果。步骤S42分析PDF文件中的每个页面字典的内容流执行以下操作步骤S421获取PDF文件页面字典对象中的内容流。步骤S422在页面内容流查找是否包含指定属性。步骤S423记录搜索结果。步骤S5判断PDF文件的所有页面是否已经分析完毕,如果没有分析完,则继续执行步骤S3。步骤S6如果PDF文件的所有页面已经分析完,则在指定的数据库表中生成一条数据记录,将PDF文件的属性记录的内容按格式填充该数据记录。步骤S7判断指定路径中的所有PDF文件是否已经分析完,如果没有分析完,则继续执行上述的步骤S2-S6。如果分析完,则结束本过程。图3示出了根据本发明一个实施例的用于PDF文件的属性处理装置的示意图,包括获取模块10,用于获取PDF文件的属性;记录模块20,用于将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。现有技术中,每次进行测试时,均人工地打开每一个PDF文件,逐一查看其属性,这个过程相当费时,效率很低。而该属性处理装置因为采用数据库记录PDF文件属性,便于日后的查询,所以无需每次进行测试时再人工地打开每一个PDF文件,克服了现有的PDF文件属性筛选方法效率很低的问题,因此节约了人工成本,提高了效率。优选地,获取模块10包括PDF文件解析模块,用于解析PDF文件得到头文件、内容流和文件字典;PDF文件字典解析模块,用于从头文件、内容流和文件字典中获取PDF文件的属性。上述解析过程因为可以通过执行计算机软件来实现,从而彻底地取消了人工分析PDF文件的过程,大大地减轻了人工成本,显著地提高了效率。当然,作为本发明的基本实施例,也可以通过人工分析的方式来获取PDF文件的属性。优选地,获取模块10包括文件路径获取模块,用于从输入的字符串中获取路径;路径遍历提取PDF文件模块,用于遍历路径中的所有PDF文件,以获取遍历的每个PDF文件的属性。根据该优选实施例,用户只需输入一个路径,就能自动地对路径中所有的PDF文件进行属性处理,减轻了用户手工操作的负担,提高了工作效率。图4示出了根据本发明优选实施例的用于PDF文件的属性处理装置的示意图。该优选实施例综合了上述各个实施例的方案。该属性处理装置包括文件路径获取模块12、路径遍历提取PDF文件模块14、PDF文件解析模块22、PDF文件字典解析模块24、页面内容流解析模块沈、属性搜索模块^、PDF属性记录模块32、数据库记录生成模块34,其中文件路径获取模块12,用于从输入的字符串中获取每个有效的文件路径,例如,文件路径获取模块12从输入的字符串中通过查找特殊分割符“I,,的方法拆分出多个有效路径,然后将每个有效路径逐一的传递给后续的模块进行处理。;路径遍历提取PDF文件模块14,用于遍历指定路径中的每一个PDF文件,例如,路径遍历提取PDF文件模块14对传入的一个有效路径,遍历其中的每一个文件,并通过文件后缀进行筛选,将每个”.Pdf”后缀的文件逐一专递给后续模块处理;PDF文件解析模块22,用于解析PDF文件中是否包含已定义的指定属性。其中包括了PDF文件字典解析模块和页面内容流解析模块。PDF文件字典解析模块M,用于获取PDF文件的字典,并搜索是否包含已定义的属性,例如,PDF文件字典解析模块M获取传入的PDF文件的字典对象,并调用属性搜索模块搜索该属性字典中是否包含已定义的属性,并记录文件基本信息和搜索结果。页面内容流解析模块沈,用于拆分出每页字典中的内容流,并逐一将获取的页面内容流进行处理,搜索其中是否包含已定义的属性,例如,页面内容流解析模块26拆分出PDF文件的每个页的字典对象中的内容流,并将获取的各页面的内容流逐一进行后续处理,调用属性搜索模块搜索该页面内容流中是否包含已定义的属性,并记录搜索结果。属性搜索模块观,用于搜索指定的属性在特定的字典对象中是否存在。上述的文件路径获取模块12、路径遍历提取PDF文件模块14、PDF文件解析模块22、PDF文件字典解析模块24、页面内容流解析模块沈、属性搜索模块观实现了图3中的获取模块10PDF属性记录模块32,用于保存PDF文件的基本信息和搜索出来的文件所包含的特定属性。数据库记录生成模块34,用于将保存的PDF属性记录以数据库记录的形式记录到指定的数据库表中,例如,数据库记录生成模块在指定的数据库中添加一条新的数据库记录,将前面过程记录的PDF文件属性搜索结果进行整理合并,按照指定格式填充该数据库记录。上述的PDF属性记录模块32、数据库记录生成模块34实现了图3中的记录模块20。该优选实施例因为整个过程可以批量地进行处理,并且不需要人为干预,自动完成从提取文件到解析入库的全部过程,因此大量地节约了人工成本,提高了效率。并且一次入库后,随时可以针对已入库内容进行快速简洁地筛选,并可以实现各种属性组合筛选的强大功能,便于管理和使用,也使得更细化的筛选变得可能。从以上的描述中,可以看出,本发明上述的实施例克服了现有的PDF文件属性筛选方法效率很低的问题,因此节约了人工成本,提高了效率。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种用于PDF文件的属性处理方法,其特征在于,包括以下步骤获取PDF文件的属性;将获取的每个所述PDF文件的属性及其文件名作为一条记录加入到数据库中。2.根据权利要求1所述的方法,其特征在于,获取PDF文件的属性包括解析所述PDF文件得到头文件、内容流和文件字典;从所述头文件、所述内容流和所述文件字典中获取所述PDF文件的属性。3.根据权利要求2所述的方法,其特征在于,从所述头文件、所述内容流和所述文件字典中获取所述PDF文件的属性包括遍历所述头文件、所述内容流和所述文件字典中的所有字典对象,在遍历过程中判断所述遍历的字典对象是否具有预先设置的属性字典中的属性。4.根据权利要求3所述的方法,其特征在于,还包括预先设置所述属性字典,其中将期望测试所述PDF文件的特定属性作为用于搜索的属性加入到所述属性字典中。5.根据权利要求3所述的方法,其特征在于,在遍历过程中判断所述遍历的字典对象是否具有预先设置的属性字典中的属性包括对于当前遍历到的所述字典对象,判断其是否具有所述属性字典的属性中尚未确定所述PDF文件已经具有的属性,而所述属性字典的属性中确定所述PDF文件已经具有的属性则不再进行判断。6.根据权利要求1所述的方法,其特征在于,获取PDF文件的属性包括从输入的字符串中获取路径;遍历所述路径中的所有PDF文件,以获取所述遍历的每个PDF文件的属性。7.根据权利要求1-6任一项所述的方法,其特征在于,所述属性包括以下至少之一文档类型、PDF版本、是否预分色文件、总页数、是否存在Outputhtent、是否按流方式提交、是否处理OptionalContent、是否解析AnnotationProcessed、文件是否加密、是否为飞腾加密、PDFXVersion、交叉引用表是否为流对象、是否多个交叉引用、存在流对象的Content、存在数组对象的Content、存在空对象的Content、注释内容属性注释类型(WidgetType、Link、FreeText、CirCle、Polygon、Ployline、Highlight、Underline、Squiggly、StrikeOut、Stamp、Caret、Ink、FileAttachment、sound、Movie、PrinterMark、TrapNet,WaterMark,ThreeD)、Widge是否可以输出、AP字典内N对象类型(流对象、词典对象、其它对象)、可选内容属性可选对象类型(OCG、OCMenberShip)、是否有MemberSiip决定OC状态、OC状态(ON、OFF、UnDenfined)、Membership计算规则(VE、ΑΝΥ0Ν、ANYOFF,ALL0N、ALL0FF)、图像对象属性图像类型(Normal、Inlinelmage、Mask、explictMask、ColorkeyMasKSmask)、位深(1、2、4、6、8、16)、是否存在线高为1的图像、是否存在线宽为1的图像、χ方向分辨率、Y方向分辨率、是否存在缺省的Decode、呈色意向、叠印模式、是否叠印、是否前端组装、图像处理类型、是否前端变倍、图像变倍算法、是否从左向右扫描、是否从上向下扫描、trasfer类型、是否裁切、色面数量、是否变形、是否含有UCR、是否含有BG、挂网类型、挂网中是否存在Transfer、挂网Spot函数类型、bHasTwoSquaresThreshold)、渐变属性渐变类型、是否定义了背景颜色、叠印模式、是否定义了BBox、是否含有UCR、是否为类型2的I^ttern、Transfer类型、是否多输出函数、是否叠印、是否含有BG、函数类型、是否多输出、是否多输入、是否存在Range项、路径属性路径类型、是否存在闭合SubPath、是否存在曲线、是否存在零向量、是否存在定点数越界、绘制操作符、Trasfer类型、是否叠印、是否含有UCR、是否存在多个SubPath、是否存在不闭合SubPath、是否被缓冲、Flatness是否比默认值小、存在接近垂直/水平直线、叠印模式、Flatness且是否为曲线、是否含有BG、字体属性字体类型(TypeO、TypeUType3、TrueType)、字体名称、基础字体名称、字体编码类型、宽度表类型、字体文件是否内嵌、字体I^aintType、是否合成粗体效果、是否合成斜体效果、是否OpenType字体、是否非间接引用对象、是否Symbolic类型的字体)、隐藏图元属性(具有OC属性的图元类型、被隐藏图元类型(StrokeElement,FillElement、TextElement、ShadingElement、XobiectElement)、是否在MarkedContent中嵌套多层)、字体内容属性TextRenderMode、TextKnockOut、是否存在要进cache的Type3字符、是否存在不进cache的Type3字符、是否存在包含Image的Type3字符、是否存在包含i^orm的Type3字符、是否存在包含Rmt的Type3字符、是否存在包含seac指令的Typel字符、是否存在包含MemHint的Typel字符、是否存在包含CounterHint的Typel字符、字典中的宽度表信息是否与字体文件中的度量信息不一致、TransferType、是否存在包含Instruction的TrueType字符、是否含有UCR、叠印模式、是否含有UCR、是否含有BG、是否叠印、字体类型色彩空间类型CS_DeviceGray、CS_DeviceRGB、CS_DeviceCMYK、CS_CalGray>CS_CalRGB、CS_ICCBased、CS_Separation、CS_DeviceN>CS_Indexed、CS_Lab、CS_Pattern、函数属性函数类型(SampleFunc、ExpFunc,StitchFunc、PSFunc)、是否多输出、是否多输入、是否存在Range项、透明属性透明组内图元、图元含有专色、含有softlmageMask、父透明属性、透明组自身属性(Isolated、Konckout,PageGroup)、透明图像状态属性(BlendMode、AIS、0P、0PM、SoftMask类型、背景色)、FilterTypeASCIIHEX、ASCII85、RLE、LZff,FLATE,FAX、DCT,JBIG2、CRYPT、SUBFILE、RESTREAM、SPECIAL、JPX。8.一种用于PDF文件的属性处理装置,其特征在于,包括获取模块,用于获取PDF文件的属性;记录模块,用于将获取的每个所述PDF文件的属性及其文件名作为一条记录加入到数据库中。9.根据权利要求8所述的装置,其特征在于,所述获取模块包括PDF文件解析模块,用于解析所述PDF文件得到头文件、内容流和文件字典;PDF文件字典解析模块,用于从所述头文件、所述内容流和所述文件字典中获取所述PDF文件的属性。10.根据权利要求8所述的装置,其特征在于,所述获取模块包括文件路径获取模块,用于从输入的字符串中获取路径;路径遍历提取PDF文件模块,用于遍历所述路径中的所有PDF文件,以获取所述遍历的每个PDF文件的属性。全文摘要本发明提供了一种用于PDF文件的属性处理方法,包括以下步骤获取PDF文件的属性;将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。本发明还提供了一种用于PDF文件的属性处理装置,包括获取模块,用于获取PDF文件的属性;记录模块,用于将获取的每个PDF文件的属性及其文件名作为一条记录加入到数据库中。本发明节约了人工成本,提高了效率。文档编号G06F17/30GK102541905SQ201010605620公开日2012年7月4日申请日期2010年12月15日优先权日2010年12月15日发明者卢秀琴,张立业申请人:北京北大方正电子有限公司,北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1