gpt4 book ai didi

c# - 带有 xmlworker 5.5.3 和 5.5.7 的 itextsharp 在最新版本上缺少波兰语字符

转载 作者:行者123 更新时间:2023-11-30 20:40:02 31 4
gpt4 key购买 nike

目前我使用的是 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):在 font BaseFont 内的元素中的每个 block 上,仅不为空:({itextSharp.text.pdf.TrueTypeFontUnicode})

image

在版本 5.5.7 上,BaseFont 为空。

我只使用 Century Gothic 字体(在 html 中)(在 FontFactory 中注册)。

让它在新版本中运行还缺少什么?

最佳答案

我也有同样的问题,我的 PDF 中缺少我的土耳其语字符。我已经用这个修复了它。

String htmlText = html.ToString();

Document document = new Document();

string filePath = HostingEnvironment.MapPath("~/Content/Pdf/");
PdfWriter.GetInstance(document, new FileStream(filePath + "\\pdf-"+Name+".pdf", FileMode.Create));
document.Open();

iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
FontFactory.Register(Path.Combine(_webHelper.MapPath("~/App_Data/Pdf/arial.ttf")), "Garamond"); // just give a path of arial.ttf
StyleSheet css = new StyleSheet();
css.LoadTagStyle("body", "face", "Garamond");
css.LoadTagStyle("body", "encoding", "Identity-H");
css.LoadTagStyle("body", "size", "12pt");

hw.SetStyleSheet(css);

hw.Parse(new StringReader(htmlText));

请看这里Missing Character issue in PDF using Itext

问候,启动模式

关于c# - 带有 xmlworker 5.5.3 和 5.5.7 的 itextsharp 在最新版本上缺少波兰语字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757543/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com