|
@@ -1,26 +1,23 @@
|
|
|
package com.qmth.distributed.print.business.util;
|
|
|
|
|
|
-import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.itextpdf.awt.AsianFontMapper;
|
|
|
import com.itextpdf.text.*;
|
|
|
+import com.itextpdf.text.io.StreamUtil;
|
|
|
import com.itextpdf.text.pdf.*;
|
|
|
import com.qmth.distributed.print.business.bean.dto.PdfPackageDto;
|
|
|
import com.qmth.distributed.print.business.bean.dto.PdfSignDto;
|
|
|
import com.qmth.distributed.print.business.entity.BasicTemplate;
|
|
|
import com.qmth.distributed.print.business.enums.RequiredFieldsEnum;
|
|
|
-import com.qmth.distributed.print.business.service.PrintCommonService;
|
|
|
import com.qmth.teachcloud.common.bean.examRule.CodeNameEnable;
|
|
|
import com.qmth.teachcloud.common.bean.examRule.CodeNameEnableValue;
|
|
|
-import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
|
-import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
-import com.qmth.teachcloud.common.enums.ClassifyEnum;
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
+import com.qmth.teachcloud.common.util.FileUtil;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.io.InputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.List;
|
|
@@ -45,12 +42,17 @@ public class PdfFillUtils {
|
|
|
public static Font textFont10;
|
|
|
public static Font textFont9;
|
|
|
public static Font textFont8;
|
|
|
+ public static BaseFont bfChinese;
|
|
|
|
|
|
// 静态代码块
|
|
|
static {
|
|
|
try {
|
|
|
//解决中文不显示问题
|
|
|
- BaseFont bfChinese = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
|
|
|
+// BaseFont bfChinese = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.EMBEDDED);
|
|
|
+ InputStream fontStream = FileUtil.getStream("fonts/SimSun.ttf");
|
|
|
+ // 将InputStream转换为byte数组
|
|
|
+ byte[] fontData = StreamUtil.inputStreamToArray(fontStream);
|
|
|
+ bfChinese = BaseFont.createFont("SimSun.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, BaseFont.CACHED, fontData, null);
|
|
|
textFont28 = new Font(bfChinese, 28);
|
|
|
textFont24 = new Font(bfChinese, 24);
|
|
|
textFont22 = new Font(bfChinese, 22);
|
|
@@ -64,6 +66,7 @@ public class PdfFillUtils {
|
|
|
textFont8 = new Font(bfChinese, 8);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -482,6 +485,8 @@ public class PdfFillUtils {
|
|
|
//设置字体
|
|
|
if (hideCode) {
|
|
|
barcode128.setFont(null);
|
|
|
+ } else {
|
|
|
+ barcode128.setFont(bfChinese);
|
|
|
}
|
|
|
return barcode128.createImageWithBarcode(writer.getDirectContent(), barColor, textColor);
|
|
|
}
|