html转pdf 在 renderer.layout();出现异常

content.append("</html>");//html结束标签
ITextRenderer renderer = new ITextRenderer();
String contentHtml = content.toString().replaceAll("<img src=\"../", "<img src=\"").replaceAll(" ", " ");
try{
renderer.setDocumentFromString(contentHtml);
}catch(Exception ex){
throw new FinancialException("打印内容不符合WC3标准,请修改HTML内容");
}
// 举例:this.basePath();值: D:/java/tomcat/Tomcat6.0/webapps/accountBond
renderer.getSharedContext().setBaseURL("file://"+this.basePath()+"/");
renderer.layout();
try{
renderer.createPDF(os);
}catch(Exception ex){
os.close();
throw new FinancialException("生成或读取估值通知书时发生异常!");
}
renderer.finishPDF();
inputStream = new ByteArrayInputStream(os.toByteArray());
fileName ="EvalNotice.pdf";
os.close();
return SUCCESS;

在 renderer.layout();出抛出
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.RangeCheck(ArrayList.java:546)
at java.util.ArrayList.get(ArrayList.java:321)

你贴出来的代码根本找不到和ArrayList有什么关系,暂时只能建议你屏蔽其他功能,先测试生成PDF部分是否异常,然后再调试其他部分,个人觉得renderer.layout();出错的可能性不大
温馨提示:答案为网友推荐,仅供参考
相似回答