当前位置: 首页 > news >正文

Apache poi xwpf word转PDF中文显示问题解决

原问题解决方法:https://github.com/opensagres/xdocreport/issues/161

POM依赖

   <properties><java.version>1.8</java.version><poi.version>3.14</poi.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>${poi.version}</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId><version>2.0.1</version><scope>compile</scope></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.document</artifactId><version>2.0.1</version><scope>compile</scope></dependency></dependencies>

请记住,word转换如果没问题,那么就要设置pdf的字体,这个是铁律!

核心配置代码

将PdfOptions提出来作为方法使用

 private PdfOptions getPdfOptions() {PdfOptions pdfOptions = PdfOptions.create();// 解决中文不显示问题pdfOptions.fontProvider(new IFontProvider() {@Overridepublic Font getFont(String familyName, String encoding, float size, int style, Color color) {try {File file = new File(pdfChineseTTF);Preconditions.checkState(file.exists(), "中文字体文件不存在:" + pdfChineseTTF);BaseFont bfChinese = BaseFont.createFont(pdfChineseTTF, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);Font fontChinese = new Font(bfChinese, size, style, color);if (familyName != null) {fontChinese.setFamily(familyName);}return fontChinese;} catch (Throwable e) {e.printStackTrace();// An error occurs, use the default font provider.return ITextFontRegistry.getRegistry().getFont(familyName, encoding, size, style, color);}}});return pdfOptions;}

PDF下载流问题

注意前端PDF文件流空白问题参考以下方案进行处理

js下载PDF文件流,打开空白问题_使用jspdf导出服务器上pdf文件的时候文件里面没有内容_夏小锋的博客-CSDN博客

前端下载二进制流pdf文件,下载成功,打开空白问题解决_前端下载pdf文件流打开空白_Helen_fight的博客-CSDN博客

http://www.lryc.cn/news/196864.html

相关文章:

  • Gartner发布2024年十大战略技术趋势
  • 在UniApp中使用uni.makePhoneCall方法调起电话拨打功能
  • 苹果手机怎么刷机?掌握好这个方法!
  • 最新ai创作系统CHATGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)
  • 代码随想录算法训练营Day56|动态规划14
  • VsCode通过Git History插件查看某个页面的版本修改记录
  • 事件循环(渡一)
  • eNSP在hybrid接口上配置vlan
  • 行为型模式-迭代器模式
  • 华为云应用中间件DCS系列—Redis实现(电商网站)秒杀抢购示例
  • EasyExcel导出带有下拉框的表头模板
  • fastadmin找不到后台控制器。登录之后找不到后台控制器
  • 浅谈智能操控及无线测温产品在马来西亚理文造纸雪邦热电站项目中的应用
  • 打开 Java 新的大门,Solon v2.5.10 发布
  • unity动画_UI动画案例 c#
  • “岗课赛证”融通的物联网综合实训室建设方案
  • Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备
  • 中文编程开发语言工具开发的实际软件案例:称重管理系统软件
  • CSS如何画出平行四边形
  • 【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟
  • 数字孪生与智慧城市:重塑未来城市生活的奇迹
  • 大势智慧是否支持航拍图片生成3D建模?
  • ASO优化之增加APP应用下载安装量的技巧1
  • 点云从入门到精通技术详解100篇-雨雾环境下多传感器融合SLAM方法
  • electron安装失败时配置
  • 酷开科技为你的电视增添魅力,点亮每一个娱乐瞬间!
  • Spring Cloud 之 Feign 简介及简单DEMO的搭建
  • SAS国际认证考试报名流程
  • CSS 什么是外边距重叠?重叠的结果是什么?
  • MultiPlayerShoot----C++学习记录01打包测试项目