소스 검색

no message

(cherry picked from commit 6f084d202a66c3334ac2c493c8a9c5f4635591b3)
ly 1 년 전
부모
커밋
bc12da55ba

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

@@ -1,15 +1,12 @@
 package cn.ezhizao.common.utils;
 
-import cn.ezhizao.common.utils.bean.WaterMarker;
 import cn.ezhizao.common.utils.pdf.PdfWaterMarker;
 import cn.hutool.core.io.IoUtil;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.itextpdf.html2pdf.ConverterProperties;
 import com.itextpdf.html2pdf.HtmlConverter;
 import com.itextpdf.html2pdf.resolver.font.DefaultFontProvider;
-import com.itextpdf.io.font.FontProgram;
 import com.itextpdf.io.font.FontProgramFactory;
-import com.itextpdf.io.font.PdfEncodings;
 import com.itextpdf.io.image.ImageDataFactory;
 import com.itextpdf.kernel.events.PdfDocumentEvent;
 import com.itextpdf.kernel.font.PdfFont;
@@ -26,7 +23,6 @@ import org.springframework.beans.factory.annotation.Value;
 
 import java.io.*;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 public class PdfUtil {
     @Autowired
@@ -93,7 +89,7 @@ public class PdfUtil {
      * @param content html内容
      * @return PDF字节数组
      */
-    public static byte[] html2Pdf(String content) {
+    public static byte[] html2Pdf(String content,PageSize pageSize) {
         ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
         try {
             ConverterProperties converterProperties = new ConverterProperties();
@@ -110,7 +106,9 @@ public class PdfUtil {
             PdfDocument pdf = new PdfDocument(writer);
             pdf.setTagged();
             //设置纸张的大小,并且设置默认的pdf大小
-            PageSize pageSize = PageSize.A3.rotate();
+            if (pageSize == null ){
+                pageSize = PageSize.A3.rotate();
+            }
             pdf.setDefaultPageSize(pageSize);
             pdf.getDefaultPageSize().applyMargins(80, 80, 20, 20, true);
             HtmlConverter.convertToPdf(content, pdf, converterProperties);
@@ -119,7 +117,9 @@ public class PdfUtil {
         }
         return outputStream.toByteArray();
     }
-
+    public static byte[] html2Pdf(String content) {
+        return html2Pdf(content, (PageSize) null);
+    }
     /**
      * 带水印的pdf
      * @param waterMarkerType 水印类型 1 文字水印 2 图片水印

+ 2 - 1
src/main/java/cn/ezhizao/project/business/salary/controller/BizFinancialSalaryController.java

@@ -42,6 +42,7 @@ import cn.ezhizao.project.system.mapper.SysUserMapper;
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.poi.excel.ExcelWriter;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.itextpdf.kernel.geom.PageSize;
 import freemarker.cache.FileTemplateLoader;
 import freemarker.cache.TemplateLoader;
 import freemarker.template.Configuration;
@@ -646,7 +647,7 @@ public class BizFinancialSalaryController extends BaseController {
         String fileName ="工资表";
         response.setHeader("Content-Disposition", "filename=" + new String(fileName.getBytes()));
 //        byte[] resources = PdfUtil.html2Pdf(2, templateContent, "/icon/logo.png", bizFinancialSalaryService);
-        byte[] resources = PdfUtil.html2Pdf(templateContent);
+        byte[] resources = PdfUtil.html2Pdf(templateContent, PageSize.A5.rotate());
         ServletOutputStream outputStream = response.getOutputStream();
         outputStream.write(resources);
         outputStream.close();

+ 1 - 1
src/main/resources/templates/salaryTemplate.html

@@ -5,7 +5,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <!-- font-family: Microsoft YaHei, sans-serif; -->
     <style>        @page {
-        size: A4 portrait;
+        size: A5 landscape;
         margin: 15px;
     }
     body {