PDF文件处理方法及装置制造方法及图纸

技术编号:19177178 阅读:33 留言:0更新日期:2018-10-17 00:20
本发明专利技术提供一种PDF文件处理方法及装置,其中方法包括:判断PDF文件中待拆分的字符是否为复合字体;若为复合字体,则查找字符的CMap;对查找到的CMap进行解析,确定字符的字节数;根据字符的字节数以及PDF文件的内容流,对字符进行拆分。本发明专利技术提供的PDF文件处理方法及装置,通过判断PDF文件中待拆分的字符是否为复合字体,若为复合字体,则查找字符的CMap,对查找到的CMap进行解析,确定字符的字节数,并根据字符的字节数以及PDF文件的内容流,对字符进行拆分,能够实现对PDF文件中的复杂字体精确、快速的拆分,满足既包含简单字体又包含复合字体的PDF文件的拆分需求。

PDF file processing method and device

The invention provides a PDF file processing method and a device, wherein the method includes: judging whether a character to be split in a PDF file is a compound font; searching for a character's CMAP if it is a compound font; parsing the CMap found to determine the number of bytes of the character; and according to the number of bytes of the character and the content stream of the PDF file, matching. Character is split. The PDF file processing method and device provided by the invention can determine whether the characters to be split in the PDF file are compound fonts, and if they are compound fonts, find the CMap of the characters, parse the CMap found, determine the number of bytes of the characters, and split the characters according to the number of bytes of the characters and the content stream of the PDF file. Separation, to achieve accurate and rapid separation of complex fonts in PDF files, to meet the PDF file containing both simple fonts and composite fonts splitting requirements.

【技术实现步骤摘要】
PDF文件处理方法及装置
本专利技术涉及计算机技术,尤其涉及一种PDF文件处理方法及装置。
技术介绍
PDF(PortableDocumentFormat,便携式文档格式),是一种与应用程序、操作系统、硬件无关的文件格式,可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,集成度和安全可靠性都较高。在某些情况下,我们需要把PDF中显示的字符串进行拆分。如果PDF文件中都是简单字体,那么拆分就比较容易,因为简单字体一个字节代表一个字符,那么把待拆分的字符串按字节一个一个进行拆分即可。但对于包含复合字体的PDF文件来说,由于复合字体的复杂性,无法直接采用简单字体的拆分方法。因此,目前急需一种既可以针对简单字体又可以针对复合字体进行拆分的方法。
技术实现思路
本专利技术提供一种PDF文件处理方法及装置,用以解决现有技术中PDF文件中复合字体难以直接拆分的技术问题。本专利技术提供一种PDF文件处理方法,包括:判断PDF文件中待拆分的字符是否为复合字体;若为复合字体,则查找所述字符的CMap;对查找到的CMap进行解析,确定所述字符的字节数;根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分。进一步地,所述方法还包括:向用户显示PDF文件中包含的全部字体类型,所述字体类型包括下述至少一项:Type1、TrueType、Type3、CID;接收用户根据所述PDF文件中的全部字体类型输入的需要拆分的字体类型;相应的,判断PDF文件中待拆分的字符是否为复合字体,包括:判断待拆分的字符是否属于用户输入的需要拆分的字体类型:若否,则跳过该字符进行下一字符的拆分;若是,则判断所述待拆分的字符是否为复合字体。进一步地,所述方法还包括:接收用户输入的优先级信息,所述优先级信息包括各个字体类型对应的优先级;相应的,在对PDF文件中的字符进行拆分时,优先级高的先进行拆分,优先级低的后进行拆分。进一步地,所述方法还包括:接收用户输入的水印替换信息,所述水印替换信息包括用户期望使用的水印;在对PDF文件中的字符进行拆分完成之后,查找PDF文件中的水印;根据所述用户期望使用的水印,对PDF文件中原有的水印进行替换。进一步地,在根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分之后,还包括:利用PDF中显示字符串的操作符,把字符拆开来显示。本专利技术还提供一种PDF文件处理装置,包括:判断模块,用于判断PDF文件中待拆分的字符是否为复合字体;查找模块,用于在待拆分字符为复合字体时,查找所述字符的CMap;确定模块,用于对查找到的CMap进行解析,确定所述字符的字节数;拆分模块,用于根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分。进一步地,所述拆分模块还用于:向用户显示PDF文件中包含的全部字体类型,所述字体类型包括下述至少一项:Type1、TrueType、Type3、CID;接收用户根据所述PDF文件中的全部字体类型输入的需要拆分的字体类型;相应的,所述判断模块具体用于:判断待拆分的字符是否属于用户输入的需要拆分的字体类型:若否,则跳过该字符进行下一字符的拆分;若是,则判断所述待拆分的字符是否为复合字体。进一步地,所述拆分模块还用于:接收用户输入的优先级信息,所述优先级信息包括各个字体类型对应的优先级;相应的,在对PDF文件中的字符进行拆分时,优先级高的先进行拆分,优先级低的后进行拆分。进一步地,所述拆分模块还用于:接收用户输入的水印替换信息,所述水印替换信息包括用户期望使用的水印;在对PDF文件中的字符进行拆分完成之后,查找PDF文件中的水印;根据所述用户期望使用的水印,对PDF文件中原有的水印进行替换。进一步地,所述拆分模块还用于:在根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分之后,利用PDF中显示字符串的操作符,把字符拆开来显示。本专利技术提供的PDF文件处理方法及装置,通过判断PDF文件中待拆分的字符是否为复合字体,若为简单字体则按照一个字节进行拆分,若为复合字体,则查找所述字符的CMap,对查找到的CMap进行解析,确定所述字符的字节数,并根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分,能够实现对PDF文件中的复杂字体精确、快速的拆分,满足既包含简单字体又包含复合字体的PDF文件的拆分需求。附图说明图1为本专利技术实施例一提供的PDF文件处理方法的流程图;图2为本专利技术实施例二提供的PDF文件处理方法的流程图;图3为本专利技术实施例三提供的PDF文件处理装置的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。实施例一本专利技术实施例一提供一种PDF文件处理方法。图1为本专利技术实施例一提供的PDF文件处理方法的流程图。如图1所示,本实施例中的方法,可以包括:步骤101、判断PDF文件中待拆分的字符是否为复合字体。具体的,在一篇PDF文件中,可能包含多个字符,多个字符可以为同一字体,也可以为多种不同的字体。本实施例中,字符的字体可以是简单字体或复合字体。其中,所述简单字体可以为只占一个字节的字体,例如Type1(1985年由Adobe公司提出的一套矢量字体标准)、TrueType(1991年由Apple公司与Microsoft公司联合提出的一套矢量字标准)、Type3(由Adobe公司提出的另一套矢量字体标准)等,复合字体可以为占用多个字节的字体,如CID(Characteridentifier,字符识别码)等。判断一个字符的字体类型属于现有技术,此处不再赘述。若PDF文件中的字符为简单字体,则可以根据PDF的内容流,把待拆分的字符串按字节一个一个进行拆分即可。若字符为复本文档来自技高网...

【技术保护点】
1.一种PDF文件处理方法,其特征在于,包括:判断PDF文件中待拆分的字符是否为复合字体;若为复合字体,则查找所述字符的CMap;对查找到的CMap进行解析,确定所述字符的字节数;根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分。

【技术特征摘要】
1.一种PDF文件处理方法,其特征在于,包括:判断PDF文件中待拆分的字符是否为复合字体;若为复合字体,则查找所述字符的CMap;对查找到的CMap进行解析,确定所述字符的字节数;根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分。2.根据权利要求1所述的方法,其特征在于,还包括:向用户显示PDF文件中包含的全部字体类型,所述字体类型包括下述至少一项:Type1、TrueType、Type3、CID;接收用户根据所述PDF文件中的全部字体类型输入的需要拆分的字体类型;相应的,判断PDF文件中待拆分的字符是否为复合字体,包括:判断待拆分的字符是否属于用户输入的需要拆分的字体类型:若否,则跳过该字符进行下一字符的拆分;若是,则判断所述待拆分的字符是否为复合字体。3.根据权利要求1所述的方法,其特征在于,还包括:接收用户输入的优先级信息,所述优先级信息包括各个字体类型对应的优先级;相应的,在对PDF文件中的字符进行拆分时,优先级高的先进行拆分,优先级低的后进行拆分。4.根据权利要求1所述的方法,其特征在于,还包括:接收用户输入的水印替换信息,所述水印替换信息包括用户期望使用的水印;在对PDF文件中的字符进行拆分完成之后,查找PDF文件中的水印;根据所述用户期望使用的水印,对PDF文件中原有的水印进行替换。5.根据权利要求1-4任一项所述的方法,其特征在于,在根据所述字符的字节数以及PDF文件的内容流,对字符进行拆分之后,还包括:利用PDF中显示字符串的操作符,把字符拆开来显示。6.一种PDF文件处理装置,其特征在于,包括...

【专利技术属性】
技术研发人员:郭相军
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:北京,11

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

1