def _generatePDF(template, context={}): """ Compute a pdf from a LaTeX @template, with some dynamic data in @context return a @GeneratedFile instance """ t = DjTemplate(template.content) c = DjContext(context) latex_str = t.render(c) latex_str += '' # to django.utils.safestring.SafeText to unicode latex_doc = LatexDocument(latex_str) try: gen_file = GeneratedFile() gen_file.template = template result = latex_doc.as_pdf(debug=True) # returns a StringIO instance except LatexDocument.LatexPdfGenerationError as e: gen_file.errors = "Error during pdf generation: %s" % str(e) logger.error(str(e)) else: gen_file.file.save("%s-%d" % (template.name, template.id,), ContentFile(result.read())) gen_file.save() return gen_file
def imprimir_relatorio(request): valor = _valor(request) veiculos = _consulta(valor) veiculos = list(veiculos) latex = render_to_string('veiculo/imprimir_relatorio.tex', {'veiculos': veiculos}) #Transdorma em documento latex tex = LatexDocument(latex.encode('utf-8')) #Transforma em pedf pdf = tex.as_pdf() response = HttpResponse(pdf, mimetype='application/pdf') response['Content-Disposition'] = 'attachment; filename=%s.pdf' % 'relatorio' # abre o pdf na propria aba # return HttpResponse(response, mimetype='application/pdf') # baixar o arquivo direto return response
def save(req): json_obj = convert_json(req.POST) document_with_content = fill_format(json_obj, document) r = LatexDocument(document_with_content) pdf = r.as_pdf() return response(pdf, mimetype='pdf')