当前位置:   article > 正文

Spring Boot + Freemaker 打包成jar 出现无法生成pdf_java jar包里面放pdf文件不生效

java jar包里面放pdf文件不生效

打包成jar 出现无法生成pdf

  1. 一、检查路径是否正常,还有要注意的是Sping Boot 打包成jar 访问的路径是系统下的路径,访问不到jar里的东西。
  2. 如:
  3. 打包后获得的路径
  4. file:/E:/target/xx.jar!/BOOT-INF/classes!/静态资源/xxx.tfl
  5. 开发环境下获得的路径
  6. /E:/项目名/
  7. 需对路径进行解析
  8. String path = "file:/E:/target/xx.jar!/BOOT-INF/classes!/";
  9. //解决开发环境下路径问题 去掉盘符前的 /
  10. if (path.indexOf("file:/") == -1) {
  11. path = StringUtils.substring(path, 1, path.length());
  12. }
  13. path = StringUtils.replaceFirst(path, "file:/", "");
  14. path = StringUtils.replaceFirst(path, "Monitor.jar!/BOOT-INF/", "");
  15. path = StringUtils.replaceFirst(path, "!", "");
  16. return path;// E:/target/classes
  17. }
  18. 二、检查导包是否正常,检查版本是否正常。
  19. freemarker
  20. <dependency>
  21. <groupId>org.freemarker</groupId>
  22. <artifactId>freemarker</artifactId>
  23. <version>2.3.19</version>
  24. </dependency>
  25. 三、pdf 可以生成了,但是有中文乱码问题。
  26. 1.检查ftl(html) body 是否有写 font-family: SimSun;
  27. 2.<meta http-equiv='Content-Type' content='text/html' charset='utf-8'/>
  28. 3.
  29. private static Configuration freemarkerCfg = null;
  30. private static String path = null;
  31. static {
  32. freemarkerCfg = new Configuration();
  33. freemarkerCfg.setLocale(Locale.CHINA);
  34. freemarkerCfg.setDefaultEncoding("utf-8");
  35. freemarkerCfg.setEncoding(Locale.CHINA, "utf-8");
  36. //freemarker的模板目录
  37. try {
  38. path = ResourceUtils.getURL("classpath:").getPath();
  39. // getPathAnalysis 方法实现 请看第一条
  40. path = PathUtil.getPathAnalysis(path);
  41. FONT = path + "typeface/simsun.ttf";
  42. logger.info("path = " + path);
  43. freemarkerCfg.setDirectoryForTemplateLoading(new File(path));
  44. } catch (IOException e) {
  45. logger.error(e.getMessage());
  46. } catch (Exception e) {
  47. logger.error(e.getMessage());
  48. }
  49. }
  50. 四、详情请查看 项目 monitorsys 下的工具包 JavaPdfUtil.java
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/815979
推荐阅读
相关标签
  

闽ICP备14008679号