Java 如果Html包含特殊/非法字符,则从Html创建IText Pdf失败

Java 如果Html包含特殊/非法字符,则从Html创建IText Pdf失败,java,html,pdf,itext,illegal-characters,Java,Html,Pdf,Itext,Illegal Characters,我使用itext从html内容创建pdf。我使用java字符串缓冲区以表格的形式构建html内容。映射以键值对的形式包含文件的元数据值。我迭代这些键和值来构建html表。问题是map中的一些元数据值是无意义/无效的符号。因此pdf创建失败,出现以下异常 java.io.IOException: Expected > for tag: <{1}/> near line 1, column 717 at com.lowagie.text.xml.simpleparser.Simpl

我使用itext从html内容创建pdf。我使用java字符串缓冲区以表格的形式构建html内容。映射以键值对的形式包含文件的元数据值。我迭代这些键和值来构建html表。问题是map中的一些元数据值是无意义/无效的符号。因此pdf创建失败,出现以下异常

java.io.IOException: Expected > for tag: <{1}/> near line 1, column 717
at com.lowagie.text.xml.simpleparser.SimpleXMLParser.throwException(SimpleXMLParser.java:568)
    at com.lowagie.text.xml.simpleparser.SimpleXMLParser.go(SimpleXMLParser.java:331)
    at com.lowagie.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:579)
    at com.lowagie.text.html.simpleparser.HTMLWorker.parse(HTMLWorker.java:141)


Content which caused the exception is 
“$é6莚ÆuCÅ ©À SÀF;r 1Ì/XQ‡,Ô<ÒÐ"‡(¢ËÄòÅ1¡Ø€ÌÅc
java.io.IOException:Expected>for标记:靠近第1行第717列
位于com.lowagie.text.xml.simpleparser.SimpleXMLParser.ThroweException(SimpleXMLParser.java:568)
位于com.lowagie.text.xml.simpleparser.SimpleXMLParser.go(SimpleXMLParser.java:331)
位于com.lowagie.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:579)
在com.lowagie.text.html.simpleparser.HTMLWorker.parse(HTMLWorker.java:141)上
导致异常的内容是

“$6ŽšuCÅSÀF;r1Ì/XQ‡,Ô在构建HTML时很难实时识别和跳过 您可以使用ApacheCommonsLang来转义HTML

StringEscapeUtils.escapeHtml("“$é6莚ÆuCÅ ©À SÀF;r 1Ì/XQ‡,Ô<ÒÐ"‡(¢ËÄòÅ1¡Ø€ÌÅc")

唯一不好的字符是
@Jongware:am转义所有可能的html字符。转义后的内容是“$6ŽšuCÅ”SÀF;r1Ì/XQ‡,ÔД(、Ë196;ò1ØÌc),即使它失败了……”它也失败了“不是对问题的有用描述。您的原始错误是标记的
预期>,
,您肯定会收到新的错误消息吗?”?
&ldquo;$&eacute;6&egrave;&#381;&scaron;&AElig;uC&Aring; &copy;&Agrave; S&Agrave;F;r 1&Igrave;/XQ&Dagger;,&Ocirc;&lt;&Ograve;&ETH;&quot;&Dagger;(&cent;&Euml;&Auml;&ograve;&Aring;1&iexcl;&Oslash;&euro;&Igrave;&Aring;c