基于itext7导出pdf实现,支持水印、中文等
来源:互联网 发布:高清网络监控系统方案 编辑:程序博客网 时间:2024/06/16 10:35
完整源码:http://download.csdn.net/detail/liuwenfeng554/9590212
itext7导出pdf:
public class ExportReportPdfUtil {static PdfFont helvetica = null; static PdfFont helveticaBold = null; static DecimalFormat df = new DecimalFormat("#0.00"); /** * @Title: exportPdf * @Description: 生成pdf,提示下载 * @param fileName 标婷 * @param spreadhead * @param subhead * @param tables * @param response */public static void exportPdf(String fileName,String spreadhead, String subhead, List<PDFTable> tables, HttpServletResponse response){try{// 设置response参数,可以打开下载页面response.reset(); response.setContentType("application/pdf;charset=utf-8"); response.addHeader("Content-Disposition","attachment;filename="+ new String( fileName.getBytes("gb2312"), "ISO8859-1")); //处理中文问题 helvetica = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false); helveticaBold = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);PdfWriter writer = new PdfWriter(response.getOutputStream()); //Initialize PDF document PdfDocument pdf = new PdfDocument(writer); pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new ReportEventHandler()); // Initialize document Document document = new Document(pdf); //加载报告内容 loadReport(spreadhead, subhead, tables, document); document.close(); writer.close(); pdf.close();}catch(Exception e){ e.printStackTrace(); } }public static void loadReport(String spreadhead, String subhead, List<PDFTable> tables, Document document){//大标题Paragraph p = new Paragraph(spreadhead).setTextAlignment(TextAlignment.CENTER).setFont(helveticaBold).setFontSize(14); document.add(p); //副标题 document.add(new Paragraph(subhead).setFont(helvetica).setFontSize(8)); //初始化详情内容 for (PDFTable pdfTable : tables) { loadTitle(pdfTable.getTitle() , document); Table table = new Table(pdfTable.getNumColumns()); table.setWidthPercent(pdfTable.getWidthPercent()); List<PDFColumn> columns = pdfTable.getColumns(); for (PDFColumn pdfColumn : columns) { if(pdfColumn.isBold){ process(table, pdfColumn.getText() , helveticaBold, pdfColumn.isHeader()); }else{ process(table, pdfColumn.getText() , helvetica, pdfColumn.isHeader()); }} document.add(table);} }/*** * @Title: title * @Description: 添加标题 * @param text * @param document */public static void loadTitle(String text, Document document){ document.add(new Paragraph(text).setFont(helvetica).setBold().setFontSize(12));} /** * @Title: process * @Description: 处理table * @param table * @param text * @param font * @param isHeader */ public static void process(Table table, String text, PdfFont font, boolean isHeader) { if (isHeader) { table.addHeaderCell(new Cell().add(new Paragraph(text).setFont(font)).setFontSize(9).setBorder(new SolidBorder(Color.BLACK, 0.5f)).setBold()); } else { table.addCell(new Cell().add(new Paragraph(text).setFont(font)).setFontSize(9).setBorder(new SolidBorder(Color.BLACK, 0.5f))); } }}
3 0
- 基于itext7导出pdf实现,支持水印、中文等
- iText7 pdf导出简单实例
- PDF怎么支持中文 KendoUI 导出PDF
- 基于itext实现的pdf水印
- bootstrap table和tableExport导出支持中文的Excel和pdf等表格
- flying-saucer + iText + Freemarker实现pdf的导出, 支持中文、css以及图片
- 在 mediawiki 实现导出 中文pdf
- java-pdf-itext7、itextpdf 生成pdf 文档,使用pdf模板生成(支持中文字体)
- itext 导出pdf 表格生成、目录生成、支持中文
- ireport导出中文pdf
- html导出table支持(excel,png,word,pdf<pdf不太行,中文不支持>)
- iText7通过模板生成PDF
- 基于flying-saucer和freemark实现HTML导出pdf
- ASPxPivotGrid导出pdf中文乱码
- HTML导出PDF中文文件
- TableExport pdf导出中文乱码
- IText 导出PDF 中文问题解决
- iText7中的中文显示问题
- Codeforces 702B - Powers of Two
- 数据结构学习笔记(六)优先级队列、堆和左高树
- protoc编译proto文件之Java源码结构分析一(addr.proto)
- java学习之访问网络资源
- Linux 下设置防火墙白名单(RHEL 6 和 CentOS 7)
- 基于itext7导出pdf实现,支持水印、中文等
- 最长上升子序列
- tcp客户端和服务端互发消息
- java基础学习总结——构造方法
- 电路组成
- 最长连续上升子序列
- JS实现动画效果框架
- leetcode 368. Largest Divisible Subset
- 简单算法学习笔记一