Python使用HTML内容生成PDF

时间:2019-04-08 03:11:20

标签: python django reportlab

我想使用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')

0 个答案:

没有答案