【问题标题】:How to show the special characters like & in the pdf report generated by iTextSharp?如何在iTextSharp生成的pdf报告中显示&等特殊字符?
【发布时间】:2011-07-17 23:34:45
【问题描述】:
在使用 iTextSharp 以编程方式生成 pdf 报告时,我必须在报告中打印 &。但是当我在 ItextSharp 使用的 pdf 模板中键入 this(&) 时,它被标记为错误。鼠标悬停时显示的错误是“字符'',十六进制值 0x20 在 XML 名称中是非法的。”。
谁能告诉我如何做到这一点???
提前致谢。
【问题讨论】:
标签:
.net
pdf-generation
itextsharp
【解决方案1】:
我想您需要对您尝试插入的任何文字文本进行 HTML 编码 - & 通常会被解释为实体的开头,并且通常应编码为 &。 HttpServerUtility.HtmlEncode 支持 HTML 编码。
然而,我们在这里需要小心,因为报告的错误涉及 XML 错误,并且命名实体列表在 HTML 和 XML 之间有所不同。我刚刚在 System.Xml 命名空间中查找,找不到任何专门帮助您生成有效 XML 数据的类 - 您也可以选择将文本文字放在 CDATA 中(<![CDATA[、]]>)部分。