Python Генерация PDF с содержанием HTML - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу использовать библиотеку reportlab PDF (версия для сообщества) для создания отчета в формате PDF из таблицы MySQL. Существует текстовое поле, содержащее теги HTML (редактирование с помощью Tinymce Editor), которое я хочу включить в отчет PDF. Я пытался, но кажется, что reportlab не смог распознать эти HTML-теги, поэтому при запуске отчета возникла ошибка.

Мой вопрос: правильно ли, что текстовое поле html не может быть включено в файл отчета PDF для создания форматирования вывода? Или есть какое-то другое решение для создания PDF-тегов, включая HTML-теги?

Спасибо!

Ниже приведен сегмент моих кодов:

from reportlab.platypus import Paragraph
from reportlab.lib.styles import getSampleStyleSheet
from custom_app import models as data_model
from django.conf.safestring import SafeString

s = getSampleStyleSheet()
normal_style = s['Normal']

datalist = data_model.Table.objects.all()
for rec in datalist:
    row = [
       Paragraph(rec.field_a, normal_style),
       Paragraph(SafeString(rec.field_b), normal_style)
    ]
.
.
.

Предположим, что field_b содержит некоторые html-теги, сгенерированные редактором tinymce. При выполнении вышеуказанного кода ошибка «Значение ошибки» отображается в строке «Параграф (SafeString (rec.field_b), normal_style)» строки.

(u"paraparser: syntax error: invalid attribute name alt attrMap=['height', 'src', 'valign', 'width']", '\nparagraph text u\'<para><img src="../../core/uploads/tinymce/tc_icon-2016091910361474252596.gif" alt="" width="23" height="15" /></para>\' caused exception')
...