PyPDF2 - 无法过去。一个大的损坏的文件

时间:2017-10-12 21:14:00

标签: python pdf pypdf2

我正在检查文件系统中损坏的PDF。在我正在运行的测试中,有近20万个PDF文件。似乎较小的损坏文件正确警报,但我遇到了一个大的15 MB文件已损坏,代码只是无限期挂起。我试过设置Strict to False没有运气。这似乎是问题的初始开放。而不是做线程和设置超时(我过去曾尝试过一点成功),我希望有一个替代方案。

import PyPDF2, os
from time import gmtime,strftime

path = raw_input("Enter folder path of PDF files:")
t = open(r'c:\pdf_check\log.txt','w')
count = 1
for dirpath,dnames,fnames in os.walk(path):
    for file in fnames:
        print count
        count = count + 1
        if file.endswith(".pdf"):
            file = os.path.join(dirpath, file)
            try:
                PyPDF2.PdfFileReader(file,'rb',warndest="c:\test\warning.txt")
            except PyPDF2.utils.PdfReadError:
                curdate = strftime("%Y-%m-%d %H:%M:%S", gmtime())
                t.write(str(curdate) + " " + "-" + " " + file + " " + "-" + " " + "fail" + "\n")
            else:
                pass
                #curdate = strftime("%Y-%m-%d %H:%M:%S", gmtime())
                #t.write(str(curdate) + " " + "-" + " " + file + " " + "-" + " " + "pass" + "\n")
t.close()

1 个答案:

答案 0 :(得分:0)

看起来PyPDF2存在问题。我无法让它工作,但是,我使用了pdfrw并且它并没有停止在这一点上并且没有问题地运行了几十万个文档。