Python-从pdf打印/提取文本时不需要的Unicode字符

时间:2017-05-20 15:47:35

标签: python unicode

我使用Python 3.5.2 / Anaconda 4.1.1使用pypdf2从pdf中提取文本:(http://www.mitpressjournals.org/doi/pdf/10.1162/INOV_a_00153)。 我在打印文本的中间获得了许多这些unicode字符,我不需要:

\xc5 \xef \x82 \xef \xac \n.

你能帮我摆脱这些讨厌的角色吗?!谢谢你的帮助! 这是我的下面的一小段代码:

import PyPDF2


pdfFileObj = open('C:\\Users\\HP\\Desktop\\Datasets\\task1_rb.pdf','rb')   

pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

num=pdfReader.numPages

for a in range(1,num):

    text=''

    pageObj = pdfReader.getPage(a)         

    text=pageObj.extractText().encode('utf-8')

    print(text)

1 个答案:

答案 0 :(得分:1)

您可以用ASCII编码text并忽略非ASCII字符。

尝试更改:

text=pageObj.extractText().encode('utf-8')

要:

text=pageObj.extractText().encode('ascii', 'ignore')

我已经略过了输出,似乎已经完成了这个技巧。

在另一个点上,range循环中的for会导致您错过某些输出(除非这是预期的)。

for a in range(1,num):更改为for a in range(0,num):