まず、これに関する他のスレッドを見て、これを修正するためにほぼすべてを試しましたが...
Pisa を使用して HTML ページを PDF にレンダリングすると、HTML の画像が著しく失われます。つまり、ページを HTML にレンダリングするとすべてがうまくいきますが、Pisa を使用して出力を PDF に切り替えると、画像が消えます。
私が見つけた最も一般的なことは、次のようにリンク コールバック関数を作成することです。
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))
ただし、これは機能しません。PDF が表示されますが、画像がありません。
また、HTML を mkstemp に書き込み、コマンド ライン経由で PDF に変換し、HTML を出力するという別のスレッドの提案も読みましたが、そこでも成功しませんでした。
同様の問題を抱えている人のために、1.1.17の代わりにPIL 1.1.16をインストールしようとさえしました-ダイスはありません。
ここで私が間違っている場所について誰かが考えを持っていますか?