Я использую Django и Reportlab для создания PDF-файлов. Иногда пользователь будет использовать символ, который Reportlab считает недействительным, и я получаю следующее:
ValueError: ошибка синтаксического анализатора xml (фиктивный <или &) в абзаце ... </em>
Есть ли способ избежать этого, кроме ограничения ввода от пользователя?
Вот урезанная версия кода:
def generate_report(request, obj_id):
obj = Model.objects.get(pk=obj_id)
width, height = letter
styles = getSampleStyleSheet()
doc = SimpleDocTemplate(settings.MEDIA_ROOT + "/pdf/" + str(obj.id) + ".pdf", pagesize=letter,rightMargin=72,leftMargin=72,topMargin=160,bottomMargin=100)
Story = []
Story.append('Title', h1))
text = obj.test_to_display
for line in text.splitlines():
Story.append(Spacer(1,0.1*inch))
p = Paragraph(line, style)
Story.append(p)
doc.build(Story)
return HttpResponseRedirect("/media/pdf/" + str(obj.id) + ".pdf")