【问题标题】:generate pdf file from html with cyrillic characters problem从带有西里尔字符问题的html生成pdf文件
【发布时间】:2019-05-16 01:37:36
【问题描述】:

我尝试从带有西里尔字符“俄语”的 html 生成 pdf 文件,但我使用 xhtml2pdf 时总是出现黑匣子,请帮帮我

f = open('print.html', 'w')
htmlcode = "<!DOCTYPE html>" \
           "<html>" \
           "<head>" \
           '<style type="text/css">' \
           '@page { size: A4; margin: 1cm; }' \
           '@font-face { font-family: MAC C Times; src: url("C:\Windows\Fonts\MCTIME.TTF"); }' \
           'p { color: red; font-family: MAC C Times; }'\
           'body {font-family: MAC C Times;}'\
           '</style>' \
           "<title>Результат крови</title>" \
           "</head>" \
           "<body>" \
           '<meta content="text/html; charset=utf-8" http-equiv="Content-Type">' \
           "<p><b>Результат крови</p></b>" \
           "<p>название:" + str(v[1]) + "</p>" \
           "<p>Фамилия:" + str(v[2]) + "</p>" \
           "<p>Пол:" + str(v[4]) + "</p>" \
           "<p>Возраст:" + str(v[3]) + "</p>" \
           "<p>Врач:" + str(v[5]) + "</p>" \
           "<p>Количество клеток:" + str(cells_count) + "</p>" \
           "<p>средний размер ячейки:" + str(a) + "</p>" \
           "<p>Лейкоциты:" + str(a) + "</p>" \
           "<p>Эритроциты:" + str(b) + "</p>" \
           "<p>Тромбоциты:" + str(c) + "</p>" \
           "<p>гематокрит:" + str(d) + "</p>" \
           "<p>характеристики:" + str(e) + "</p>" \
           "</body>" \
           "</html>"

resultFile = open("print.pdf", "w+b")
pisa.CreatePDF(htmlcode, dest=resultFile, encoding='utf-8')
resultFile.close()
os.startfile("print.pdf")

【问题讨论】:

    标签: python xhtml2pdf


    【解决方案1】:

    您可以尝试使用io.open("print.pdf", 'w', encoding="utf8") 而不是内置的open() 来读写文件。

    【讨论】:

    • 同样的问题没有任何改变
    • 没有其他想法,抱歉:(
    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 2016-11-03
    • 2010-11-02
    • 1970-01-01
    • 2020-10-12
    • 2015-05-19
    • 2020-08-14
    • 2021-06-09
    相关资源
    最近更新 更多