美文网首页
python使用PyPDF2合并多个PDF文件时报错

python使用PyPDF2合并多个PDF文件时报错

作者: jamesyoung | 来源:发表于2020-11-19 18:45 被阅读0次

python使用PyPDF2合并多个PDF文件时报错,网上搜了很多方法,有大神说是PyPDF2自己的问题,在输出中文编码的pdf时会报错,需要修改PyPDF2库,在此给自己做个使用笔记。
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一下。

相关文章

网友评论

      本文标题:python使用PyPDF2合并多个PDF文件时报错

      本文链接:https://www.haomeiwen.com/subject/ypmliktx.html