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