我以PDF格式从多页CV中提取了文本内容,并尝试使用pyPDF2将该内容写入文本文件。但是在尝试编写内容时出现以下错误消息。

这是我的代码:

import PyPDF2

newFile = open('details.txt', 'w')
file = open("cv3.pdf", 'rb')

pdfreader = PyPDF2.PdfFileReader(file)
numPages = pdfreader.getNumPages()
print(numPages)

page_content = ""
for page_number in range(numPages):
    page = pdfreader.getPage(page_number)
    page_content += page.extractText()

newFile.write(page_content)
print(page_content)

file.close()
newFile.close()


错误信息:


  追溯(最近一次通话):文件
  “ C:/Users/HP/PycharmProjects/CVParser/pdf.py”,第16行,在
      newFile.write(page_content)文件“ C:\ Program Files \ Python37 \ lib \ encodings \ cp1252.py”,第19行,编码
      返回codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError:“ charmap”编解码器无法在其中编码字符“ \ u0141”
  位置827:字符映射到
  
  流程以退出代码1完成


多页PDF文件(转换为PDF的docx文件)成功执行了此代码。

如果有人知道解决方案,请帮助我。

最佳答案

这将解决您在Python 3中的问题:

with open("Output.txt", "w") as text_file:
    print("{}".format(page_content), file=text_file)


如果上述方法对您不起作用,请尝试以下方法:

with open("Output1.txt", "wb") as text_file:

    text_file.write(page_content.encode("UTF-8"))

07-26 09:30