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

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一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。