一种将PDF文件转换为HTML文本的方法技术

技术编号:32514603 阅读:28 留言:0更新日期:2022-03-02 11:06
本发明专利技术提供了一种将PDF文件转换为HTML文本的方法,包括如下步骤:

【技术实现步骤摘要】
一种将PDF文件转换为HTML文本的方法


[0001]本专利技术涉及一种将PDF文件转换为HTML文本的方法。

技术介绍

[0002]在情报领域涉及大量文本数据,PDF(Portable Document Format)为其中较为常见的一类文件。实际中,需将分散在各处的PDF文件汇聚,进行统一管理,并在此基础上,实现对PDF文本内容的精确全文检索、快速检索定位以及高文本易读性。为实现上述目标,将PDF采用Apache PDFBox组件或Spire.PDF组件转换为HTML(Hyper Text Markup Language)是一种可选方案,但目前Apache PDFBox和Spire.PDF转换HTML工具存在转换过程中每行文字被切分为多个字或词、各段落之间文字无相关性、页与页之间内容被隔断、内容区域无法随页面拉伸等问题,无法满足PDF转换HTML保持文本段落原样还原的需求。

技术实现思路

[0003]为解决上述技术问题,本专利技术提供了一种将PDF文件转换为HTML文本的方法,该将PDF文件转换为HTML文本的方法能够有效解决PDF转换HTML保持文本段落原样还原的需求无法被满足的问题。
[0004]本专利技术通过以下技术方案得以实现。
[0005]本专利技术提供的一种将PDF文件转换为HTML文本的方法,包括如下步骤:
[0006]①
转换:获取待转换的PDF文件,用PDF转换工具将该PDF文件转换为单个HTML文件;
[0007]②
清洗:将HTML文件中的字块样式标签和空白元素标签删除,并对HTML文件中的段落标签进行转换处理。
[0008]所述PDF转换工具为Apache PDFBox组件或Spire.PDF组件。
[0009]所述字块样式标签为

webkit

text

stroke标签和text

shadow标签。
[0010]所述将HTML文件中的字块样式标签删除时,为对应字块添加字体加粗样式。
[0011]所述对HTML文件中的段落标签进行转换处理,包括如下步骤:
[0012]A:计算段落标签对应字块的高度偏移值;
[0013]B:将同一上级类标签的段落对应字块,按照段落顺序进行合并排列;
[0014]C:将位于同一行或相似一行的字块进行合并形成行级别字块分组。
[0015]所述步骤C,包括如下步骤:
[0016]C1:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位偏移属性,将偏移属性相同的字块合并为同一组,得到行级别字块分组;
[0017]C2:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位偏移属性,将偏移属性近似的字块合并为一组,得到行级别字块分组;
[0018]C3:计算行级别字块分组中的字块X轴坐标,当左右相邻的两个字块间空白距离大于一个字符宽度时,在第一个字块尾部填充空格,直至和第二个字块水平距离小于1个字符
宽度。
[0019]所述偏移属性近似需满足以下条件:Top相差绝对值≈字块高度height相差绝对值/2,误差小于等于1px。
[0020]所述步骤C之后还包括如下步骤:
[0021]D:合并行级别字块分组中同一行中的字号、粗细、颜色相同,但字体名称不同的相邻中文、英文和数字字块节点,并将合并字体更新到各字块节点的样式标签中;
[0022]E:合并行级别字块分组中相邻且字体格式相同的字块节点;
[0023]F:合并高度计算相同的行级别字块分组为同一段落,并通过行尾空白及行首缩进进行段落拆分,得到新段落分组。
[0024]所述步骤F之后还包括如下步骤:
[0025]G:计算所述行级别字块分组的高度,将高度相同的分组合并为同一父节点下的兄弟节点元素;当行级别字块分组的行尾空白宽度大于2个字符的宽度时,从下一行内容开始使用新的段落分组;当行级别字块分组的行首空白宽度大于等于2个字符的宽度时,则从本行开始使用新的段落分组。
[0026]本专利技术还提供一种将PDF文件转换为HTML文本的系统,包括转换单元、样式修正单元和段落合并单元,其中:
[0027]转换单元用于将目标PDF文件转化为HTML文件;
[0028]样式修正单元用于将分页中的各字块节点样式进行修正;
[0029]段落合并单元用于合并分页的字块节点,再合并行级字块节点,最后合并段落字块节点。
[0030]本专利技术的有益效果在于:能够有效解决PDF转换HTML保持文本段落原样还原的需求无法被满足的问题,可较大提升HTML文本展示效果,增强HTML文本易读性,方便用户全文检索、快速定位,提升用户阅读体验感。
附图说明
[0031]图1是本专利技术至少一种实施方式的流程示意图。
具体实施方式
[0032]下面进一步描述本专利技术的技术方案,但要求保护的范围并不局限于所述。
[0033]实施例1
[0034]如图1所示的一种将PDF文件转换为HTML文本的方法,包括如下步骤:
[0035]①
转换:获取待转换的PDF文件,用PDF转换工具将该PDF文件转换为单个HTML文件;
[0036]②
清洗:将HTML文件中的字块样式标签和空白元素标签删除,并对HTML文件中的段落标签进行转换处理。
[0037]实施例2
[0038]基于实施例1,PDF转换工具为Apache PDFBox组件或Spire.PDF组件。
[0039]实施例3
[0040]基于实施例1,字块样式标签为

webkit

text

stroke标签和text

shadow标签。
[0041]实施例4
[0042]基于实施例1,将HTML文件中的字块样式标签删除时,为对应字块添加字体加粗样式。
[0043]实施例5
[0044]基于实施例1,对HTML文件中的段落标签进行转换处理,包括如下步骤:
[0045]A:计算段落标签对应字块的高度偏移值;
[0046]B:将同一上级类标签的段落对应字块,按照段落顺序进行合并排列;
[0047]C:将位于同一行或相似一行的字块进行合并形成行级别字块分组。
[0048]实施例6
[0049]基于实施例5,步骤C,包括如下步骤:
[0050]C1:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位偏移属性,将偏移属性相同的字块合并为同一组,得到行级别字块分组;
[0051]C2:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位偏移属性,将偏移属性近似的字块合并为一组,得到行级别字块分组;
[0052]C3:计算行级别字块分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将PDF文件转换为HTML文本的方法,其特征在于:包括如下步骤:

转换:获取待转换的PDF文件,用PDF转换工具将该PDF文件转换为单个HTML文件;

清洗:将HTML文件中的字块样式标签和空白元素标签删除,并对HTML文件中的段落标签进行转换处理。2.如权利要求1所述的将PDF文件转换为HTML文本的方法,其特征在于:所述PDF转换工具为Apache PDFBox组件或Spire.PDF组件。3.如权利要求1所述的将PDF文件转换为HTML文本的方法,其特征在于:所述字块样式标签为

webkit

text

stroke标签和text

shadow标签。4.如权利要求1所述的将PDF文件转换为HTML文本的方法,其特征在于:所述将HTML文件中的字块样式标签删除时,为对应字块添加字体加粗样式。5.如权利要求1所述的将PDF文件转换为HTML文本的方法,其特征在于:所述对HTML文件中的段落标签进行转换处理,包括如下步骤:A:计算段落标签对应字块的高度偏移值;B:将同一上级类标签的段落对应字块,按照段落顺序进行合并排列;C:将位于同一行或相似一行的字块进行合并形成行级别字块分组。6.如权利要求5所述的将PDF文件转换为HTML文本的方法,其特征在于:所述步骤C,包括如下步骤:C1:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位偏移属性,将偏移属性相同的字块合并为同一组,得到行级别字块分组;C2:遍历HTML文件的文本内容中所有字块节点元素,获取Top绝对定位...

【专利技术属性】
技术研发人员:彭浩瀚朱美玲葛军伟陶冠宏
申请(专利权)人:成都天奥集团有限公司
类型:发明
国别省市:

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

1