我之前有一个问题,即使当我指定@font-face
使用UTF-8字体时,它也不会显示中文字符。事实证明,我无法显示图像以及...所以我好像我无法将任何文件嵌入到我的PDF中。无法加载图像/文件比萨pdf Django python
这是我使用的代码:
<img src="/static/images/bc_logo_bw_pdf.png" />
和
@font-face {
font-family: "Wingdings";
src: url("/static/fonts/wingdings.ttf");
}
我看了看其他任务上SO
def render_to_pdf(template_src, context_dict):
"""Function to render html template into a pdf file"""
template = get_template(template_src)
context = Context(context_dict)
html = template.render(context)
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")),
dest=result,
encoding='UTF-8',
link_callback=fetch_resources)
if not pdf.err:
response = http.HttpResponse(result.getvalue(), mimetype='application/pdf')
return response
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
def fetch_resources(uri, rel):
import os.path
from django.conf import settings
path = os.path.join(
settings.STATIC_ROOT,
uri.replace(settings.STATIC_URL, ""))
return path
HTML,但它并没有帮助。这两个功能也没有例外。同样在fetch_resources
函数中,返回的路径是该文件的正确完整路径,即/home/<user>/project/static/images/bc_logo_bw_pdf.png
和/home/<user>/project/static/fonts/wingdings.ttf
,我不知道什么是错的。
UPDATE 每次我创建一个PDF,我得到的控制台
No handlers could be found for logger "ho.pisa"
这个消息可能此有关?
更新#2
字体现在的工作我犯了一个愚蠢的错误......我用的是没有对中国的Unicode字体。但是我仍然无法在pdf上嵌入任何图像,无论是jpeg,gif还是png。
你确定你的字体真的有中文字吗? Fount可能是unicode,但仍缺乏一些字符。 –
'logger'问题无关(并且无害) – plaes
感谢您的反馈。字体现在工作,但图像仍然不起作用 – zentenk