我在使用itextsharp中的内容将font-family添加到预定义的HTML结构时遇到了麻烦。 无论我做什么,它都会继续使用字体“Arial”。
我可以毫无困难地添加字体颜色。
这就是我正在使用的:
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();
非常感谢任何帮助。
答案 0 :(得分:2)
iText [Sharp] HTML / XML解析器默认只使用standard PDF Type 1 fonts。 Times New Roman 不其中一种字体,因此您必须在>强调LoadTagStyle()
之前明确注册:
FontFactory.RegisterDirectories();
或:
FontFactory.Register(FULL_PATH_TO_TIMES_NEW_ROMAN);
RegisterDirectories()
注册全部 Windows系统字体,因此速度会慢得多。
或者你可以选择使用Type 1字体的路线,不用注册额外的字体:
style.LoadTagStyle(HtmlTags.TABLE, HtmlTags.FACE, "times-roman");