使用itext从html内容创建pdf。我使用java String buffer以表格的形式构建html内容。 Map以键值对的形式包含文件的元数据值。我迭代这些键和值来构建html表。问题是地图中的一些元数据值是无意义/无效的符号。因此,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
所以我的问题是这些字符是什么(Non-Ascii,utf-unsupported)?在构建html时有没有办法识别和跳过它们?
答案 0 :(得分:2)
实时创建HTML时很难识别和跳过 您可以使用Apache commons-lang来转义HTML
StringEscapeUtils.escapeHtml("“$é6莚ÆuCÅ ©À SÀF;r 1Ì/XQ‡,Ô<ÒÐ"‡(¢ËÄòÅ1¡Ø€ÌÅc")
以上的输出是
“$é6莚ÆuCÅ ©À SÀF;r 1Ì/XQ‡,Ô<ÒÐ"‡(¢ËÄòÅ1¡Ø€ÌÅc