python使用PyPDF2合并多個(gè)PDF文件時(shí)報(bào)錯,網(wǎng)上搜了很多方法,有大神說是PyPDF2自己的問題,在輸出中文編碼的pdf時(shí)會報(bào)錯,需要修改PyPDF2庫,在此給自己做個(gè)使用筆記。
1、直接使用everything搜索generic.py,打開所在位置。
修改generic.py第488行附近的代碼
if not pdf.strict:
warnings.warn("Illegal character in Name Object", utils.PdfReadWarning)
return NameObject(name)
修改為
if not pdf.strict:
warnings.warn("Illegal character in Name Object", utils.PdfReadWarning)
return NameObject(name.decode('gbk'))
2、修改utils.py第237行附近的代碼
else:
r = s.encode('latin-1')
if len(s) < 2:
bc[s] = r
return r
修改為
else:
# r = s.encode('latin-1')
# if len(s) < 2:
# bc[s] = r
# return r
try:
r = s.encode('latin-1')
except Exception as e:
r = s.encode('utf-8')
if len(s) < 2:
bc[s] = r
return r
自己Mark一下。