0

我目前正在使用 PDFMiner.six 从多个 PDF 中提取文本。查看我的输出,我可以看到我得到了一些特殊字符的奇怪转换,例如括号:

打开和关闭括号:

最后,我删除了所有的段落——定义为两行包含文本,前后各有一个空行兲,占 50% 以上

其他括号:

在此处输入图像描述

具TEXT典</p>

加:

单词+表格

单词⫹表格

减:

(-0.141)

共⫺1.41兲</p>

(SML * COMPLEX-LRG * COMPLEX) < 0 的测试

测试共SML ⴱ COMPLEX⫺LRG ⴱCOMPLEX兲 ⬍ 0

我正在使用以下代码:

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
import os
import re
# from datetime import datetime
# a = datetime.now()
i = 0
path = r"C:\Users\1_T_Python"
save_to = r"C:\Users\1_T\txt files"

for filename in os.listdir(path):
    if filename.endswith(".pdf"):
        rsrcmgr = PDFResourceManager()
        retstr = StringIO()
        codec = 'utf-8'
        laparams = LAParams()
        device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
        fp = open(path+"\\"+filename,'rb')
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        password = ""
        caching = True
        pagenos=set()
        for page in PDFPage.get_pages(fp, pagenos, password=password,caching=caching, check_extractable=True):
            interpreter.process_page(page)
        fp.close()
        device.close()
        string = retstr.getvalue()
        retstr.close()
        #print(string)
        with open(save_to+"\\"+filename+".txt", "w", encoding="utf-8") as text_file:
            text_file.write(string)
        i = i+1
        print(i)

我认为这是一个编码/解码问题,但是到目前为止找不到任何解决方案。使用 utf-8 作为编码,我认为这应该可以解决问题,但它没有....

任何帮助表示赞赏!

4

0 回答 0