2012-02-24 11 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のみを使用します。あなたが明示的にLoadTagStyle()を呼び出す前を登録する必要がありますのでTimes New Romanは、これらのフォントのないいずれかです。

FontFactory.RegisterDirectories(); 

か:そう

FontFactory.Register(FULL_PATH_TO_TIMES_NEW_ROMAN); 

RegisterDirectories()レジスタすべて Windowsのシステムフォント、それははるかに遅くなります。

それとも、余分なフォントを登録ずにType 1フォント、を使用してのルートを行くことができます:

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

はありがとうございました!ニースのexplenationと素敵な修正! –

関連する問題