ezhizao_zx 1 rok pred
rodič
commit
560f88dcf0

+ 20 - 1
src/main/java/cn/ezhizao/common/utils/PdfUtil.java

@@ -7,16 +7,34 @@ import com.itextpdf.kernel.geom.PageSize;
 import com.itextpdf.kernel.pdf.PdfDocument;
 import com.itextpdf.kernel.pdf.PdfWriter;
 import com.itextpdf.layout.font.FontProvider;
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.Font;
+import com.itextpdf.text.pdf.BaseFont;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.io.*;
 import java.util.Map;
 
+@Slf4j
 public class PdfUtil {
     @Autowired
     private Configuration configuration;
+
+    private static BaseFont baseFont = null;
+
+    static {
+        try {
+            baseFont = BaseFont.createFont("simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
+        } catch (DocumentException e) {
+            log.error("字体初始化失败!", e);
+        } catch (IOException e) {
+            log.error("simsun.ttc字体不存在!", e);
+        }
+    }
+
     /**
      * 获取模板内容
      * @param templateDirectory 模板文件夹
@@ -51,7 +69,8 @@ public class PdfUtil {
             ConverterProperties converterProperties = new ConverterProperties();
             converterProperties.setCharset("UTF-8");
             FontProvider fontProvider = new FontProvider();
-            fontProvider.addSystemFonts();
+//            fontProvider.addSystemFonts();
+            fontProvider.addFont("simsun.ttc");
             converterProperties.setFontProvider(fontProvider);
             HtmlConverter.convertToPdf(content, new FileOutputStream(outPath), converterProperties);
         } catch (Exception e) {

BIN
src/main/resources/simsun.ttc