Python|正常分段由pdf文档另存为的文本文档

用Python代码处理由PDF转换过来的文本文档,主要是调整不正常的分段,及替换掉一些不需要或不规范的文本。

如有以下可编辑的PDF文档:

可以另存为txt文档(文件→另存为→文本文件):

上述文本文档的问题是分段不正常,不需要分段的地方分了段,另外还有一些不需要的文本需要替换掉。

但是上述的段落之间有空行,这样处理起来就较简单:

上述代码比较简单,只涉及到文本文件的读写及字符串replace()的成员方法。

处理后的效果:

如果段落之间没有空行,处理起来就很麻烦了,可以考虑分析一行的文本长度来考虑段落的合并和分段,类似如下代码:

rTemp1 = open('temp1.txt','rU',encoding='UTF-8')

line = rTemp1.readline() # 整个文本文件作为一个字符串返回

while line:

....if len(s) > lenLine: # 根据行长,合并一些行,并重新进行分行(段)

........s = s.strip()

........wTemp2.write(s)

....else:

........wTemp2.write(s +'\n' )

....line = rTemp1.readline()

附代码:

rInit = open('original.txt','rU',encoding='UTF-8')

wPDFen = open('PDFen.txt','w',encoding="UTF-8")

# 处理一些不需要的内容或字符串

s = rInit.read() # 整个文本文件作为一个字符串返回

s = s.replace(' ','') # 处理全角空格

s = s.replace('' , '\n\n')

s = s.replace('' , '')

s = s.replace('Agatha Christie .. MURDER ON THE ORIENT EXPRESS' , '')

s = s.replace('\n\n\n','')

s = s.replace('\n\n\n','')

s = s.strip() + "\n"

# 处理用空行分段的文本(空行中间的段落合并)

s = s.replace('\n\n','a1b2c3z0') # 用'a1b2c3z0'作段落标记

s = s.replace('\n','')

s = s.replace('a1b2c3z0','\n\n')

wPDFen.write(s)

rInit.close()

wPDFen.close()

-End-

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();