создать PDF-файл из HTML с проблемой кириллицы - PullRequest
0 голосов
/ 16 мая 2019

я пытаюсь сгенерировать pdf файл из html с кириллическими символами "русский язык", но всегда получаю черные ящики, я использую 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")

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете попробовать использовать io.open("print.pdf", 'w', encoding="utf8") вместо встроенного open() для чтения и записи файлов.

...