Python 3.x PdfielWriter不';因为内容包括中文字符,所以无法工作

Python 3.x PdfielWriter不';因为内容包括中文字符,所以无法工作,python-3.x,Python 3.x,我试图创建一个代码,从一堆小的pdf文件中生成一个组合的pdf,但发现脚本失败,出现UnicodeEncodeError错误 我还尝试通过 以open(“Combined.pdf”、“w”,encoding='utf-8-sig')作为输出流: 但编译器说它需要是二进制的“wb”模式。所以这不起作用。 代码如下: writer = PdfFileWriter() input_stream = [] for f2 in f_re: inputf_file = str(mypath+'\\

我试图创建一个代码,从一堆小的pdf文件中生成一个组合的pdf,但发现脚本失败,出现UnicodeEncodeError错误

我还尝试通过 以open(“Combined.pdf”、“w”,encoding='utf-8-sig')作为输出流: 但编译器说它需要是二进制的“wb”模式。所以这不起作用。 代码如下:

writer = PdfFileWriter()

input_stream = []
for f2 in f_re:
    inputf_file = str(mypath+'\\'+f2[2])
    input_stream.append(open(inputf_file,'rb'))


for reader in map(PdfFileReader, input_stream):
    for n in range(reader.getNumPages()):
        writer.addPage(reader.getPage(n))
with open("Combined.pdf", "wb") as outputStream:
    writer.write(outputStream)
    writer.save()

for f in input_stream:
    f.close()
以下是错误消息:

回溯(最近一次呼叫最后一次): 文件“\Workspace\Python\py\u combinePDF\py\u combinePDF.py”,第89行,在 writer.write(输出流) 文件“\AppData\Local\Programs\Python\36\lib\site packages\PyPDF2\pdf.py”,第501行,写入 对象写入流(流,键) 文件“\AppData\Local\Programs\Python\Python36\lib\site packages\PyPDF2\generic.py”,第549行,在writeToStream中 value.writeToStream(流,加密密钥) 文件“\AppData\Local\Programs\Python\Python36\lib\site packages\PyPDF2\generic.py”,第472行,在writeToStream中 stream.write(b_(self)) 文件“\AppData\Local\Programs\Python\Python36\lib\site packages\PyPDF2\utils.py”,第238行,在b中_ r=s.encode('latin-1')
UnicodeEncodeError:“latin-1”编解码器无法对位置8-9中的字符进行编码:序号不在范围(256)

您好!这个问题已经通过转到PyPDF2\utils.py解决,就在第238行错误消息中指出,我将原始代码r=s.encode('latin-1')更改为r=s.encode('utf-8'),问题已经解决,我将结束这个问题。希望它也能帮助别人!你好这个问题已经通过转到PyPDF2\utils.py解决,就在第238行错误消息中指出,我将原始代码r=s.encode('latin-1')更改为r=s.encode('utf-8'),问题已经解决,我将结束这个问题。希望它也能帮助别人!