我目前正在使用 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 作为编码,我认为这应该可以解决问题,但它没有....
任何帮助表示赞赏!