首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测什么时候用pdf 2提取了pdf的文本?

如何检测什么时候用pdf 2提取了pdf的文本?
EN

Stack Overflow用户
提问于 2017-06-06 23:43:01
回答 1查看 298关注 0票数 1

我使用PyPDF2库通过它的extractText函数从PDF文件中提取文本,对于大多数PDF来说,它工作得很好!

但是,一些PDF生成的文本如下所示:

\n!#$%&‘()“+,”-.“)/”0$-1“2)+3-$.45\n”!“#$%&’()#‘,$!$#-$-/$0.1+”#+12$\n!“#$”&#“%$’%+,-$(%)($#”$(%)&#%/%0!%\n$0“和$1(0)!$2%3(%0“%0%”和$1(34+5)%36%1(0,$7\n%8%!#$%&‘($)%“\n%0!%#%+,$%+,-$(7%);3%099+!(#“$%6+4#”,$“#9%”和$3($,%36%#(0)和$“052%<%90!”%-93%=%“和$1(0,$%6#5"3(0>#"03*%\n36%+,-$(%-$-$=$%/%#4%):?7%@(0,$%+,-$(!%#)($0*%)‘’78”AB%,$#*!+9"019)7C\n%"/D%E$0"&$(%1(0,$%*3(%53,13!0"$7%\n%:D%9%%%%%%%/FD%:BG\n%HD%:%%%%%%%/?D%HB?\n%%FD%:B:\n%3( )

根据医生们的说法,这是可以预料到的:

这对于一些PDF文件很好,但对于其他文件,这是很好的,这取决于所使用的生成器。

不幸的是,extractText()函数在输出像上面这样的文本时不会引发任何异常。

因此,我的问题是,是否有一种方法以编程方式检测extractText()函数何时返回胡言乱语?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-07 16:00:09

基于@DYZ的评论,这里是解决方案。

document_path被假定为打开的PDF文件的路径。剩下的应该是很清楚的。

代码语言:javascript
复制
from PyPDF2 import PdfFileReader
from nltk.corpus import words

words = words.words()
document_file = PdfFileReader(open(document_path, 'rb'))
num_pages = document_file.getNumPages()
for page_num in range(0, num_pages):
    page = document_file.getPage(page_num)
    page_contents = page.extractText()
    if set(page_contents.lower().split()).intersection(words):
        # process page_contents
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44401342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档