Методы корреляции заставят соответствие выскочить. Если они - JPEGs, Вы могли бы сравнить доминирующие коэффициенты для каждого 8x8 блок и получить достойное соответствие. Это не точно корреляция, но она основана на трансносу косинуса, таким образом, это - двоюродный брат.
] У меня это работает:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result, encoding='UTF-8')
Попробуйте заменить
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
на
pdf = pisa.pisaDocument(StringIO.StringIO(html), result, encoding='UTF-8')
Или проверьте этот ответ на HTML в PDF для сайта Django?
Вам нужно изменить ваш шаблон Django. Добавьте новый шрифт лицо в стиле таблицы, который ссылается на файл шрифта со символами, используемыми в вашем документе. И этот файл шрифта должен быть доступен с вашего сервера (под Ubuntu вы можете найти файлы с шрифтами в / usr / share / fonts / trueType / directory). Например:
@font-face {
font-family: DejaMono;
src: url(font/DejaVuSansMono.ttf);
}
Тогда, если у вас есть следующий HTML-код:
<div>Some non-latin characters</div>
Вы можете отобразить этот текст в шрифте Dejamomono с помощью этого правила CSS:
div { font-family: DejaMono; }
Это работает для меня, когда я генерирую документы PDF с помощью цириллических символов.
Если вы вызываете createPDF вместо метода pisaDocument, вы можете использовать
pisa.CreatePDF(html.encode('UTF-8'), response, link_callback=fetch_resources, encoding='UTF-8')