目前我使用的是 5.5.3 版本,它可以正常工作,但我尝试更新到最新版本,但我遇到了波兰语字符的问题(它们只是丢失了)。我进行从 rtf 到 html 以及从 html 到 pdf 的转换,如下所示:
private ElementList htmlToElementList(string htmlText)
{
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(true);
// HTML
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
htmlContext.AutoBookmark(false);
// Pipelines
ElementList elements = new ElementList();
ElementHandlerPipeline end = new ElementHandlerPipeline(elements, null);
HtmlPipeline html = new HtmlPipeline(htmlContext, end);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
// XML Worker
XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
p.Parse(new StringReader(htmlText));
return elements;
}
它像在 5.5.3 上一样工作。我尝试调查,发现它们之间有一个区别(5.5.3 与 5.5.7):在字体 BaseFont 内的元素中的每个块上,它不仅为空:({itextSharp.text.pdf.TrueTypeFontUnicode})
在 5.5.7 版上,BaseFont 为空。
我只使用 Century Gothic 字体(在 html 中)(在 FontFactory 中注册)。
让它在新版本中工作缺少什么?