| | |
| | | import com.itextpdf.kernel.pdf.PdfWriter; |
| | | import com.itextpdf.layout.font.FontProvider; |
| | | |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | |
| | | |
| | | 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); |
| | | |
| | | pdfWriter.close(); |
| | | pdfDocument.close(); |
| | | htmlStream.close(); |
| | | } |
| | | } |