错误信息
Error creating bean with name 'conferencefeeController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: mocha.framework.costmanagement.service.IConferencefeeService mocha.framework.costmanagement.conferencefeeController.iconferencefeeService; nested exception is java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
如果这段注掉正常运行,如果存在 就报上面的错,这咋整
需要做html转pdf用的 ITextRenderer
代码:
//获取模板
//获取配置对象
Configuration configuration = new Configuration();
//设置编码格式
configuration.setDefaultEncoding("UTF-8");
//提供上下文环境,和模板存放的目录
configuration.setServletContextForTemplateLoading(request.getServletContext(), "/template");
try {
//获取到具体的模板,生成模板对象
Template template = configuration.getTemplate("ConferenceTemplate3.html");
//创建html文件(文件名,文件存放目录)
String basePath = request.getServletContext().getRealPath("/");
//配置文件存放的路径
File filePath = new File(basePath + "/html");
//判断文件夹是否存在,不存在则创建
if(!filePath.exists()){
filePath.mkdir();
}
//创建文件名
String fileName ="会议费申请审批单HTML"+ System.currentTimeMillis() + ".html";
//获取文件的完整路径,生成file对象
File file = new File(filePath, fileName);
//获取目标文件的文件流
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
PrintWriter printWriter = new PrintWriter(writer);
//将数据填充到模板对象中生成html
template.process(map,printWriter);
printWriter.flush();
String html = printWriter.toString();
System.out.println("生成HTML成功");
加入后报错代码:
// OutputStream os = new FileOutputStream(pdfPath);
//
// ITextRenderer renderer = new ITextRenderer();
// renderer.setDocumentFromString(html);
// ITextFontResolver fontResolver = renderer.getFontResolver();
// fontResolver.addFont(PdfUtil.class.getClass().getResource("/utils/simsun.ttc").getPath(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// renderer.layout();
// renderer.createPDF(os);(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.layout();
renderer.createPDF(os);