From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 16 五月 2025 10:27:41 +0800
Subject: [PATCH] 修改文档bug

---
 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