【问题标题】:python pisa utf8 issuepython比萨utf8问题
【发布时间】:2012-08-24 12:11:14
【问题描述】:

我正在尝试将本地 HTML 转换为 PDF,但 html 文档包含非 ASCII 字符,最终在 PDF 中被破坏。为什么pisa 不适用于所有 UTF-8 字符?

with open('file.html') as m:
  data = m.read()
  m.close()        
  pisa.CreatePDF(data, file('final.pdf', 'w'))

【问题讨论】:

  • 我没有使用pisa 的经验,但是您确保您的 HTML 声明了正确的字符集吗?
  • 确实如此,一切都在浏览器中正确显示
  • 它们在 PDF 中的实际外观如何?你能提供截图和产生问题的实际字节吗?
  • 也许 pisa 想要直接的 unicode。尝试在其中添加data = data.decode('UTF-8')
  • data 是编码字节字符串,还是 unicode 对象?

标签: python pdf utf-8 pisa


【解决方案1】:

知道了。这需要位于您生成的内容的顶部:

<meta http-equiv="content-type" content="text/html; charset=utf-8"> 

【讨论】:

  • 在从 Django 模板生成 pdf 方面帮助了我很多。
【解决方案2】:

对我来说,使用 encoding='utf-8' 的编码选项很有帮助:

pisa.CreatePDF(html.content, dest=pdfFile, encoding='utf-8')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多