首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFMiner解析不超过1页。

PDFMiner解析不超过1页。
EN

Stack Overflow用户
提问于 2018-09-30 07:46:19
回答 1查看 467关注 0票数 0

我在Python3.5中使用PDFMiner6。它比PyPDF2要好得多(速度更慢,但更准确,而且不会吐出一堆没有空格分隔的字母)。我试图解析这个文档:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2963791/ (您可以从NIH网站免费下载PDF )。

我使用了以下代码(它是更大的蜘蛛的一部分,但其余代码与这个问题无关):

代码语言:javascript
复制
import io
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

class PDFMiner6(object):
    def __init__(self):
        pass

    def PdfFileReader(self, fp):
        text = []
        rsrcmgr = PDFResourceManager()
        retstr = io.StringIO()
        codec = 'utf-8'
        laparams = LAParams()
        device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        password = ""
        maxpages = 0
        caching = True
        pagenos = set()

        for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True): 
            interpreter.process_page(page)
            output = retstr.getvalue()
            text.append(output)

        fp.close()
        device.close()
        retstr.close()
        return text

它完美地解析了第一页,然后停止了。文档的其余部分没有被解析。

我使用PyPDF2测试了同一个文档,它解析了整个文档,但是输出没有任何空格的垃圾(因此我切换到了PDFMiner6)。因此,我确信不是没有读取整个文档,而是解析它的代码有问题。怎么啦?

编辑:我继续在不同的文件上测试它,结果各不相同--它完全解析了一些,而另一些则在第一页停止。这是令人沮丧的,因为PDFMiner6是一个比PyPDF2更好的解析器。

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-19 20:13:28

确保pdf是由pdf浏览器而不是网页浏览器打开的。我也有同样的问题,我就是这样解决的。

它看起来像pdfminer将查看一个pdf,正在打开的网页浏览器作为一个页面。因此,您需要确保它是由一个pdf查看器打开,以便pdfminer认识到在pdf上有超过1页。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52575784

复制
相关文章

相似问题

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