我想使用reportlab PDF库(社区版本)从MySQL表生成PDF报告。有一个文本字段,其中包含要添加到PDF报告中的HTML标签(使用Tinymce编辑器进行编辑)。我尝试过,但似乎reportlab无法识别这些html标记,因此在运行报告时会产生错误。
我的问题是,不能将html文本字段包含在reportlab 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包含一些由tinymce编辑器生成的html标签。执行上述代码时,在“ Paragraph(SafeString(rec.field_b),normal_style)”行上显示错误“ Value Error”。
(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')