From 49e88798dcea0164f77c59f0be9eefdf67a3d228 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 17 七月 2024 15:03:10 +0800
Subject: [PATCH] 2.0bug修改
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/itextpdf/HtmlToPdfUtils.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/itextpdf/HtmlToPdfUtils.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/itextpdf/HtmlToPdfUtils.java
index e814a8b..1a0093f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/itextpdf/HtmlToPdfUtils.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/itextpdf/HtmlToPdfUtils.java
@@ -9,7 +9,9 @@
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.font.FontProvider;
+import org.apache.commons.lang.StringUtils;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -49,5 +51,40 @@
pdfWriter.close();
pdfDocument.close();
+ inputStream.close();
+ }
+
+
+
+ public static void convertToPdf(String fileName, String waterMark, OutputStream outputStream) throws IOException {
+ InputStream htmlStream = new FileInputStream(fileName);
+ PdfWriter pdfWriter = new PdfWriter(outputStream);
+ PdfDocument pdfDocument = new PdfDocument(pdfWriter);
+ //设置为A4大小
+ pdfDocument.setDefaultPageSize(PageSize.A4);
+ //添加水印
+ pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE, new WaterMarkEventHandler(waterMark));
+
+ //添加页码
+ //pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE,new PageEventHandler());
+ //添加中文字体支持
+ ConverterProperties properties = new ConverterProperties();
+ FontProvider fontProvider = new FontProvider();
+
+ PdfFont sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
+ fontProvider.addFont(sysFont.getFontProgram(), "UniGB-UCS2-H");
+
+ //添加自定义字体,例如微软雅黑
+// if (StringUtils.isNotBlank(fontPath)){
+// PdfFont microsoft = PdfFontFactory.createFont(fontPath, PdfEncodings.IDENTITY_H, false);
+// fontProvider.addFont(microsoft.getFontProgram(), PdfEncodings.IDENTITY_H);
+// }
+
+ properties.setFontProvider(fontProvider);
+ HtmlConverter.convertToPdf(htmlStream, pdfDocument, properties);
+
+ pdfWriter.close();
+ pdfDocument.close();
+ htmlStream.close();
}
}
--
Gitblit v1.7.1