我尝试使用西里尔字母“俄语”从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")
答案 0 :(得分:0)
您可以尝试使用io.open("print.pdf", 'w', encoding="utf8")
而不是内置的open()
来读写文件。