|
@@ -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 图片水印
|