我正在尝试使用iText 5.5将HTML转换为PDF
CSSUtils
类中引发了异常(第289行 - processFont
方法)。
styleAndRest String数组只是'继承'作为值 有谁知道如何解决这个问题?
我确实尝试了一种不同的方法(在此编辑之前抓取之前发布的代码),我得到了一个不同的例外:
public class TestItext {
public static void main(String[] args) {
try {
com.itextpdf.text.Document document = new com.itextpdf.text.Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\jim.willmore\\AppData\\Local\\Temp\\testingpdf.pdf"));
document.open();
XMLWorkerHelper.getInstance().parseXHtml(writer, document, new FileReader("C:\\Users\\jim.willmore\\AppData\\Local\\Temp\\triptix-pdf-template-3314082183865567231.html"));
document.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我得到的例外是:
java.lang.NumberFormatException: For input string: "1.125em"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at com.itextpdf.tool.xml.css.FontSizeTranslator.getFontSize(FontSizeTranslator.java:186)
at com.itextpdf.tool.xml.css.FontSizeTranslator.translateFontSize(FontSizeTranslator.java:165)
at com.itextpdf.tool.xml.html.AbstractTagProcessor.startElement(AbstractTagProcessor.java:120)
at com.itextpdf.tool.xml.pipeline.html.HtmlPipeline.open(HtmlPipeline.java:105)
at com.itextpdf.tool.xml.XMLWorker.startElement(XMLWorker.java:103)
at com.itextpdf.tool.xml.parser.XMLParser.startElement(XMLParser.java:372)
at com.itextpdf.tool.xml.parser.state.TagAttributeState.process(TagAttributeState.java:80)
at com.itextpdf.tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:237)
at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:215)
at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:174)
at TestItext.main(TestItext.java:19)
我想更普遍的问题是 - 如果处理的HTML有嵌入式CSS,iText可以处理HTML吗? iText可以处理HTML5吗?