zacząć, widziałem inne wątki na ten temat, a ja próbowałem prawie wszystko, aby spróbować rozwiązać ten problem, ale ...Piza (XHTML -> PDF) w Django nie będzie wyświetlać obrazy w formacie PDF
Podczas korzystania z Pisa do renderowania strony HTML do pliku PDF, obrazy we wspomnianym kodzie HTML wyraźnie pomijają. To znaczy, kiedy strona jest renderowana do HTML, wszystko jest po prostu eleganckie, ale kiedy przełączam wyjście na PDF za pomocą Pizy, obrazy znikają.
Najczęstszą rzeczą znalazłem zrobić to utworzyć funkcję Link oddzwonienia tak:
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))
Jednak to nie działa. PDF pojawia się świetnie, ale obrazy są nieobecne.
Przeczytałem również sugestię dotyczącą innego wątku dotyczącego pisania kodu HTML do pliku mkstemp, konwertowania go do pliku PDF za pośrednictwem wiersza polecenia, a następnie wyprowadzania kodu HTML, również bez powodzenia.
Próbowałem nawet zainstalować PIL 1.1.16 zamiast 1.1.17 z powodu kogoś z podobnym problemem - bez kostki.
Czy ktoś ma pomysł na temat, gdzie się tu mylę?
Nie używaj Pizy, użyj xhtml2pdf, który jest kontynuacją projektu. –
Miałem też ten sam problem. Mststemp też nie był pomocny. Pisa nie renderuje obrazów po ustawieniu wymiarów obrazów w html. Więc spróbuj wygenerować pdf z html tylko z obrazem. Następnie dodawaj inne treści HTML. Użyłem HTMLTODOC do wygenerowania pdf na końcu -> http://www.htmldoc.org/ – Abhaya