我之前有一個問題,即使當我指定@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