2012-02-24 4 views
1

itextsharp에 내용이있는 미리 정의 된 HTML 구조에 font-family를 추가하는 데 문제가 있습니다. 내가하는 일은 "Arial"글꼴로 계속 이동합니다.Itextsharp 및 htmlstring에 글꼴 추가

문제없이 글꼴 색을 추가 할 수 있습니다.

이것은 내가 사용하고 무엇을 :

var style = new StyleSheet(); 
style.LoadTagStyle(HtmlTags.TABLE, HtmlTags.COLOR, "#00ff00"); 
style.LoadTagStyle("body", "font-family", "times new roman"); 

document.Open(); 

        List<IElement> sr = HTMLWorker.ParseToList(new StringReader(html), style); 

        foreach (IElement element in sr) 
        { 
         document.Add(element); 
        } 
document.close(); 

어떤 도움이 많이 주시면 감사하겠습니다.

답변

1

iText [샤프] HTML/XML 파서는 기본적으로 standard PDF Type 1 fonts 만 사용합니다.

FontFactory.RegisterDirectories(); 

나 :

FontFactory.Register(FULL_PATH_TO_TIMES_NEW_ROMAN); 

RegisterDirectories() 레지스터 모든 Windows 시스템 글꼴을 그래서, 당신은 명시 적으로 LoadTagStyle()를 호출 그것을 전에 를 등록 할 수 있도록 Times New Roman되지 않은 글꼴 하나입니다 그것은 훨씬 더 느려질 것입니다.

아니면 등록 추가 글꼴없이 타입 1 글꼴, 을 사용하는 경로를 이동 할 수 있습니다

style.LoadTagStyle(HtmlTags.TABLE, HtmlTags.FACE, "times-roman"); 
+0

너무 감사합니다! 멋진 explenation과 좋은 수정! –