diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java b/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java index d8921279..94d3c848 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java @@ -242,7 +242,7 @@ public class SendConvertMQService { convertMqEO.setId(convertId); convertMqEO.setMqState(2); convertMqEOService.updateById(convertMqEO); - this.restartUploadConvert(convertMqEO); +// this.restartUploadConvert(convertMqEO); return Result.error("r0072", "文件转换失败,请重试"); } } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java index 66882fc2..b66a1ed1 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java @@ -10,6 +10,7 @@ import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.WordUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.docx4j.Docx4J; @@ -621,6 +622,40 @@ public class AttFileEOServiceImpl extends ServiceImpl i fontMapper.put("Calibri", font); wordMLPackage.setFontMapper(fontMapper); OutputStream os = new java.io.FileOutputStream(src+fileInfo.getFilePath()+filePdfName); + //加载字体文件(解决linux环境下无中文字体问题) + if (PhysicalFonts.get("SimSun") == null) { + PhysicalFonts.addPhysicalFonts("SimSun", WordUtils.class.getResource("/simsun.ttc")); + } + fontMapper.put("隶书", PhysicalFonts.get("LiSu")); + fontMapper.put("宋体", PhysicalFonts.get("SimSun")); + fontMapper.put("微软雅黑", PhysicalFonts.get("Microsoft Yahei")); + fontMapper.put("黑体", PhysicalFonts.get("SimHei")); + fontMapper.put("楷体", PhysicalFonts.get("KaiTi")); + fontMapper.put("新宋体", PhysicalFonts.get("NSimSun")); + fontMapper.put("华文行楷", PhysicalFonts.get("STXingkai")); + fontMapper.put("华文仿宋", PhysicalFonts.get("STFangsong")); + fontMapper.put("仿宋", PhysicalFonts.get("FangSong")); + fontMapper.put("幼圆", PhysicalFonts.get("YouYuan")); + fontMapper.put("华文宋体", PhysicalFonts.get("STSong")); + fontMapper.put("华文中宋", PhysicalFonts.get("STZhongsong")); + fontMapper.put("等线", PhysicalFonts.get("SimSun")); + fontMapper.put("等线 Light", PhysicalFonts.get("SimSun")); + fontMapper.put("华文琥珀", PhysicalFonts.get("STHupo")); + fontMapper.put("华文隶书", PhysicalFonts.get("STLiti")); + fontMapper.put("华文新魏", PhysicalFonts.get("STXinwei")); + fontMapper.put("华文彩云", PhysicalFonts.get("STCaiyun")); + fontMapper.put("方正姚体", PhysicalFonts.get("FZYaoti")); + fontMapper.put("方正舒体", PhysicalFonts.get("FZShuTi")); + fontMapper.put("华文细黑", PhysicalFonts.get("STXihei")); + fontMapper.put("宋体扩展", PhysicalFonts.get("simsun-extB")); + fontMapper.put("仿宋_GB2312", PhysicalFonts.get("FangSong_GB2312")); + fontMapper.put("新細明體", PhysicalFonts.get("SimSun")); + //解决宋体(正文)和宋体(标题)的乱码问题 + PhysicalFonts.put("PMingLiU", PhysicalFonts.get("SimSun")); + PhysicalFonts.put("新細明體", PhysicalFonts.get("SimSun")); + //宋体&新宋体 + PhysicalFont simsunFont = PhysicalFonts.get("SimSun"); + fontMapper.put("SimSun", simsunFont); FOSettings foSettings = Docx4J.createFOSettings(); foSettings.setWmlPackage(wordMLPackage); Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);