gpt4 book ai didi

python - Django 中的 Pisa (XHTML -> PDF) 不会显示 PDF 格式的图像

转载 作者:太空狗 更新时间:2023-10-30 01:24:00 25 4
gpt4 key购买 nike

首先,我已经看到了关于此的其他线程,并且我已经尝试了几乎所有的方法来尝试解决这个问题但是......

当使用 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 的建议,但也没有成功。

我什至尝试安装 PIL 1.1.16 而不是 1.1.17,因为有人有类似的问题——不行。

有没有人知道我哪里出错了?

最佳答案

我已经有一段时间没看过这个了,但我认为你必须使用 lambda 或 functools。

例如

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)

关于python - Django 中的 Pisa (XHTML -> PDF) 不会显示 PDF 格式的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com