Pdfminer,pyinstaller 后无法读取 LTText

Pdfminer, can not read LTText after pyinstaller

我制作了一个可以使用 pdfminer 读取 PDF 的应用程序。

开发时应用OK
之后,我使用 pyinstaller 打包到 .exe 文件。但是读取结果和开发中的不一样。
详细来说,它无法读取 **LTText LTTextBoxHorizo​​ntal 所以我无法提取文本。
哪位知道这个问题的,请帮帮我。


登录开发

执行 pyinstaller 后的日志

Python 3.9.1
Pyinstaller 4.2
pdfminer.six==20201018
six==1.15.0
Command: pyinstaller --onefile file.py

相关来源:

 for index, page in pdf_object:
            # TODO: Only read last page - maybe change if PDF file change
            if index == number_of_page - 1:
                # read the page into a layout object
                self.interpreter.process_page(page)
                layout = self.device.get_result()
                print("Size of this page (%d, %d)" % (layout.x1, layout.y1))
                print("len = %d" % len(layout._objs))
                self.parse_obj(layout._objs)


def parse_obj(self, lt_objs):
    # loop over the object list
    print("Go loop")
    print(lt_objs)
    i = 0
    for obj in lt_objs:
        i += 1
        print("In loop %d" % i)

Pyinstaller 库所有者刚刚回答了我。它通过添加 --additional-hooks-dir 修复。

详情请见here

也许他们会在下一个版本中修复 pyinstaller 以支持 pdfminer。