@font-face
을 사용하여 UTF-8 글꼴을 사용하는 경우에도 중국어 문자가 표시되지 않는 곳에 문제가있었습니다. 그것은뿐만 아니라 이미지를 표시 할 수없는 것으로 밝혀졌습니다 ... 그래서 나는 내 PDF 파일에 포함 된 파일 중 하나를 얻을 수없는 것 같습니다. 이미지/파일을 읽을 수 없습니다 pisa pdf Django python
이
내가 사용하는 코드입니다 :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 나는 SO에 다른 퀘스트 보았다
<img src="/static/images/bc_logo_bw_pdf.png" />
및
@font-face {
font-family: "Wingdings";
src: url("/static/fonts/wingdings.ttf");
}
하지만 어쩔 없었다. 또한 두 가지 기능에서 예외가 발생하지 않습니다. 또한 fetch_resources
기능에서 반환 된 경로는 파일의 올바른 전체 경로 (예 : /home/<user>/project/static/images/bc_logo_bw_pdf.png
및 /home/<user>/project/static/fonts/wingdings.ttf
)이며 무엇이 잘못 되었습니까?
내가 PDF를 생성 매번, 나는 이것이 관련이있을 수있는 콘솔
No handlers could be found for logger "ho.pisa"
에이 메시지가 UPDATE?
업데이트 # 2
글꼴 내가 바보 같은 실수 ... 나는 중국의 유니 코드를 가지고 있지 않은 사용 된 폰트를 만들어 작동합니다. 하지만 여전히 jpeg, gif 또는 png 일지라도 pdf에 이미지를 삽입 할 수는 없습니다.
글꼴에 실제로 한자가 있습니까? Fount는 유니 코드 일 수 있지만 여전히 일부 문자가 부족합니다. –
'logger' 문제와 관련이 없습니다 (무해 함) – plaes
의견을 보내 주셔서 감사합니다. 이제는 글꼴이 작동하지만 이미지가 여전히 작동하지 않습니다 – zentenk