浏览代码

3.4.4 update-20250515 内嵌字体

xiaofei 1 月之前
父节点
当前提交
9551686481

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java

@@ -621,10 +621,9 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
 
         List<BasicExamStudent> basicExamStudents = new ArrayList<>();
 
-        StringJoiner errorMsg = new StringJoiner("<br>");
+        StringJoiner errorMsg = new StringJoiner("\n");
         AtomicInteger i = new AtomicInteger(0);
         for (TSyncDataStudent tSyncDataStudent : examStudentDataVoList) {
-            StringJoiner stringJoiner = new StringJoiner(";<br>");
             try {
                 if (StringUtils.isBlank(tSyncDataStudent.getCourseCode())) {
                     throw ExceptionResultEnum.ERROR.exception("课程代码必填");

+ 10 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/PdfUtil.java

@@ -472,7 +472,7 @@ public class PdfUtil {
             }
             reader = new PdfReader(new FileInputStream(inputFile));
             stamper = new PdfStamper(reader, new FileOutputStream(outputPath));
-            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
             PdfGState gs = new PdfGState();
             //这里是透明度设置
             gs.setFillOpacity(opacity);
@@ -506,7 +506,7 @@ public class PdfUtil {
                 under.saveState();
                 under.setGState(gs);
                 under.beginText();
-                under.setFontAndSize(base, fontsize); //这里是水印字体大小
+                under.setFontAndSize(PdfFillUtils.bfChinese, fontsize); //这里是水印字体大小
                 for (int j = 0; j < waterMarkName.length; j++) {
                     under.showTextAligned(Element.ALIGN_LEFT, waterMarkName[j], 20, pageRect.getHeight() - 20 - (j * textH), rotation);
                 }
@@ -577,7 +577,7 @@ public class PdfUtil {
             }
             reader = new PdfReader(new FileInputStream(inputFile));
             stamper = new PdfStamper(reader, new FileOutputStream(outputPath));
-            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
             PdfGState gs = new PdfGState();
             //这里是透明度设置
             gs.setFillOpacity(opacity);
@@ -591,7 +591,7 @@ public class PdfUtil {
             under.saveState();
             under.setGState(gs);
             under.beginText();
-            under.setFontAndSize(base, fontsize); //这里是水印字体大小
+            under.setFontAndSize(PdfFillUtils.bfChinese, fontsize); //这里是水印字体大小
 
             image.setAbsolutePosition(pageRect.getWidth() * 0.75f, pageRect.getHeight() - 40);
             image.scaleAbsolute(150, 30);
@@ -658,7 +658,7 @@ public class PdfUtil {
             }
             reader = new PdfReader(new FileInputStream(inputFile));
             stamper = new PdfStamper(reader, new FileOutputStream(inputFile));
-            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
             PdfGState gs = new PdfGState();
             //这里是透明度设置
             gs.setFillOpacity(opacity);
@@ -688,7 +688,7 @@ public class PdfUtil {
                 under.saveState();
                 under.setGState(gs);
                 under.beginText();
-                under.setFontAndSize(base, fontsize); //这里是水印字体大小
+                under.setFontAndSize(PdfFillUtils.bfChinese, fontsize); //这里是水印字体大小
                 for (int j = 0; j < waterMarkName.length; j++) {
                     under.showTextAligned(Element.ALIGN_LEFT, waterMarkName[j], 20, pageRect.getHeight() - 20 - (j * textH), rotation);
                 }
@@ -733,7 +733,7 @@ public class PdfUtil {
         PdfGState gs = new PdfGState();
 
         // 设置字体
-        BaseFont font = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//        BaseFont font = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
 
         // 设置透明度
         gs.setFillOpacity(0.2f);
@@ -747,7 +747,7 @@ public class PdfUtil {
             // 水印颜色
             content.setColorFill(BaseColor.BLUE);
             // 水印字体样式和大小
-            content.setFontAndSize(font, 20);
+            content.setFontAndSize(PdfFillUtils.bfChinese, 20);
 
             // 获取页面尺寸
             Rectangle pageSize = reader.getPageSize(i);
@@ -795,7 +795,7 @@ public class PdfUtil {
             stamper.setEncryption(null, ownerPassword, PdfWriter.DO_NOT_ENCRYPT_METADATA, true);
             stamper.setViewerPreferences(PdfWriter.HideToolbar | PdfWriter.HideMenubar);
 
-            BaseFont font = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//            BaseFont font = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
 
             Rectangle pageRect = null;
             PdfGState gs = new PdfGState();
@@ -823,7 +823,7 @@ public class PdfUtil {
                 under.saveState();
                 under.setGState(gs);
                 under.beginText();
-                under.setFontAndSize(font, 15);
+                under.setFontAndSize(PdfFillUtils.bfChinese, 15);
                 // 水印文字成45度角倾斜
                 for (int height = interval + textH; height < pageRect.getHeight();
                      height = height + textH * 8) {

+ 3 - 2
distributed-print/src/test/java/com/qmth/distributed/print/PDFWaterMarkTest.java

@@ -5,6 +5,7 @@ import com.itextpdf.text.DocumentException;
 import com.itextpdf.text.Element;
 import com.itextpdf.text.Rectangle;
 import com.itextpdf.text.pdf.*;
+import com.qmth.distributed.print.business.util.PdfFillUtils;
 
 import javax.swing.*;
 import java.awt.*;
@@ -54,7 +55,7 @@ public class PDFWaterMarkTest {
         try {
             reader = new PdfReader(inputFile);
             stamper = new PdfStamper(reader, new FileOutputStream(outputFile));
-            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
+//            BaseFont base = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
             Rectangle pageRect = null;
             PdfGState gs = new PdfGState();
             //这里是透明度设置
@@ -87,7 +88,7 @@ public class PDFWaterMarkTest {
                 under.setGState(gs);
                 under.beginText();
                 //under.setColorFill(BaseColor.PINK);  //添加文字颜色  不能动态改变 放弃使用
-                under.setFontAndSize(base, fontsize); //这里是水印字体大小
+                under.setFontAndSize(PdfFillUtils.bfChinese, fontsize); //这里是水印字体大小
                 for (int j = 0; j < waterMarkName.length;j++) {
                     under.showTextAligned(Element.ALIGN_LEFT, waterMarkName[j], 10, pageRect.getHeight() - 30 - (j * textH), rotation);
                 }

+ 3 - 2
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/DataServiceImpl.java

@@ -33,6 +33,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
@@ -229,8 +230,8 @@ public class DataServiceImpl implements DataService {
                     }
                 }
             }
-            tSyncDataStudentService.remove(new UpdateWrapper<TSyncDataStudent>().lambda().eq(TSyncDataStudent::getSchoolId, schoolId).eq(TSyncDataStudent::getExamId, examId));
-            tSyncDataStudentService.saveBatch(dataVoList);
+//            tSyncDataStudentService.remove(new UpdateWrapper<TSyncDataStudent>().lambda().eq(TSyncDataStudent::getSchoolId, schoolId).eq(TSyncDataStudent::getExamId, examId));
+//            tSyncDataStudentService.saveBatch(dataVoList);
             map = basicExamStudentService.saveBasicExamStudentFormSync(schoolId, examId, dataVoList);
         } catch (Exception e) {
             errMsg = e.getMessage();