2013-01-23 6 views
0

HTML에서 PDF를 렌더링하려는 시도에서 사용자 정의 글꼴을 사용하려고합니다.@ font-face 사용자 정의 글꼴이 django의 xhtml2pdf로 올바르게 렌더링되지 않습니다.

나는 HTML로 시도해 봤지만 글꼴이 나타나므로 글꼴 경로가 정확해야하며 올바르게 사용되고있을 것입니다. 글꼴은 .ttf 형식이며 http://xhtml2pdf-base.googlecode.com/hg/doc/xhtml2pdf-en.html의 문서에 따르면 렌더링해야하지만 그렇지 않습니다.

@font-face { 
    font-family: "Swiss"; 
    src: url("/static/font/swiss.ttf"); 
} 
body { 
    font-family: "Swiss"; 
    font-size: 12px; 
} 

그리고 HTML : 여기

는 내 스타일 태그가 무엇 내가 글꼴 URL 및 글꼴 가족 떨어져 따옴표를 제거, 많은 것들을 시도했습니다

<body> 
    asdf 
</body> 

, 내 본문은 HTML 태그 안에 싸여 있으므로 HTML 형식이 올바로 지정됩니다. 웹 페이지에서 렌더링 할 때 모든 것이 잘 렌더링되지만 PDF로 변환 할 때 제대로 렌더링되지 않습니다. 누구든지 오류를 발견하도록 도와 줄 수 있습니까?

답변

2

가장 좋은 방법은 콜백을 사용하여 파일 시스템 경로를 사용하여 글꼴을 가져 오는 것입니다. 더 정확하고 또한 그런데 각 자원 (자원의 의미, 글꼴, 이미지 등)

pisa.CreatePDF(html.encode("UTF-8"), file_object , encoding='UTF-8', 
       link_callback=fetch_resources) 

def fetch_resources(uri, rel): 
    find_file_in_path_using_uri 
    return path 

를 웹 서버를 타격 할 수 wan't, 당신의 문제는 당신이 글꼴 있도록 수집 정적하지 않은 생각 /static/font/swiss.ttf에 실제로 있지 않습니다. 내 말은 그들이 장고 외부에 없으며 xhtml2pdf는 장고 외부에 있음을 의미합니다. 나는 100 % 확실하지 않다.

관련 문제