Pisa (XHTML -> PDF) en Django no mostrará imágenes en PDF

Para empezar, he visto los otros subprocesos en esto, y he intentado casi todo para intentar solucionarlo, pero …

Cuando se usa Pisa para representar una página HTML en PDF, las imágenes en dicho HTML desaparecen de manera visible. Es decir, cuando la página se procesa en HTML, todo es excelente, pero cuando cambio la salida a PDF utilizando Pisa, las imágenes desaparecen.

Lo más común que he encontrado que hacer es crear una función de callback de enlace así:

def fetch_resources(uri, rel): path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, "")) return path def my_view(request, variable1): html = render_to_string('template_goes_here.html', dict, context_instance=RequestContext(request)) result = StringIO() pdf = pisa.pisaDocument(StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources) if not pdf.err: return HttpResponse(result.getvalue(), mimetype='application/pdf') return HttpResponse('Pisa hates you! %s' % cgi.escape(html)) 

Sin embargo, esto no funciona. El PDF aparece, genial, pero las imágenes están ausentes.

También leí una sugerencia en otro hilo acerca de cómo escribir el HTML en mkstemp, convertirlo en un PDF a través de la línea de comandos y luego generar el HTML, tampoco hay éxito allí.

    Incluso intenté instalar PIL 1.1.16 en lugar de 1.1.17 debido a alguien con un problema similar: no hay dados.

    ¿Alguien tiene una idea de dónde me voy mal aquí?

    Ha pasado un tiempo desde que miré esto, pero creo que tienes que usar lambda o functools.

    p.ej

     links = lambda uri, rel: os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, '')) pdf = pisa.pisaDocument(StringIO(html.encode("UTF-8")), dest=result, link_callback=links) 

    Creo que esto podría ayudar. El uso de barras de Windows fue el culpable en mi caso. https://stackoverflow.com/a/12644633/1236599