Exemple #1
0
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
Exemple #3
0
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')