完整源码: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 documentPdfDocument pdf = new PdfDocument(writer);pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new ReportEventHandler());// Initialize documentDocument 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)));}}
}

基于itext7导出pdf实现,支持水印、中文等相关推荐

  1. 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字

    咖啡汪日志--JAVA导出pdf文件加水印 文字和图片.文字 hello,又大家见面了! 作为一只不是在戏精就是在戏精路上的哈士奇,今天要展示给大家的就是如何快捷地给pdf文件增加各种水印.嗷呜呜,前 ...

  2. 关于RDLC使用导出PDF文件时,中文乱码解决方案

    MicrosftReportViewer控件导出乱码,主要需要设置的是RDCL文件: 关于使用RDLC导出PDF文件时,中文出现乱码现象,本文进行了解决: 其实很简单. 本人平台情况VS2008 英文 ...

  3. pd4ml技术html导出pdf,支持中文,兼容Linux

    java html导出pdf的文章有很多大多都使用的是itext,其实用过的都知道itext有时并不能满足我们的需求,不能兼容html的样式,而且从html页面导出的图片到pdf中也并不好处理.Fly ...

  4. PDF怎么支持中文 KendoUI 导出PDF

    大家好,我是米娅 我尝试了很多种kendo 上PDF的导出,包括Grid与整个div界面.都不支持中文,它官网上面的都是支持英文的,我导出的中文都是这种(□□□)方框,数字和英文字符都能正确的导出, ...

  5. bootstrap使用tableExport导出pdf时中文乱码问题

    前言 最近拿到了一个任务,让处理一下公司的系统平台问题.问题就是页面导出PDF文件,有中文的话显示的都是乱码.因为公司的项目都是给国外客户使用的,所以我估计从设计到测试都没有考虑中文的问题.但是为啥现 ...

  6. FastReport 导出pdf时中文乱码的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 我使用的FastReport的版本为5.4.6.在导出pdf的时候,中文全是乱码,在网上查找资料,都是很老的资料,各种改源码. ...

  7. Java 使用 iText5 API 根据需求导出 PDF

    iText 目前有两套版本,分别是 iText5 和 iText7.iText5 应该是网上用的比较多的一个版本.iText5 因为是很多开发者参与贡献代码,因此在一些规范和设计上存在不合理的地方.i ...

  8. AutoCAD处理工具Aspose.CAD最新版三大新功能推荐——支持水印、CF2格式和OLE对象

    Aspose.CAD for .NET(点击下载)是一个独立的AutoCAD处理API.它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能.开发人员可以从AutoCAD文件中选择和转 ...

  9. JS导出PDF插件(支持中文、图片使用路径)

    JS导出PDF插件(支持中文.图片使用路径) 原文:JS导出PDF插件(支持中文.图片使用路径) 在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfma ...

最新文章

  1. Nested Mappings
  2. c#_限制TextBox输入类型仅可为“-” “.” 数字
  3. aps是什么意思_全画幅大还是中画幅大? 为什么说底大一级压死人
  4. guava之preconditions
  5. python tcp服务器_Python 创建TCP服务器的方法
  6. 设计模式--建造者模式--简记
  7. linux设置时间快1小时,LINUX CentOS系统时间与现在时间相差8小时解决方法
  8. 37岁程序员失业投500份简历就3次面试猎头:超35岁不要
  9. 开源项目征集 | CSDN “开源加速器计划”之【开源技术栈选型 Show】
  10. 不再设立 Flag,马克·扎克伯格的新年寄语!
  11. 摩托罗拉投资Android社交游戏拓荒商Moblyng
  12. android 7.0添加菜单,Android 7.0 settings中添加/删除菜单
  13. 数据抽取oracle_【跟我学】特征抽取算法与应用
  14. GIS 矢量数据 编码方式
  15. 分享2020年第三方支付产品服务流程
  16. 【算法竞赛入门经典】习题1-4:正弦和余弦
  17. 如何给Ubuntu系统清理垃圾
  18. 人工智能与大数据就业前景_大数据专业和人工智能专业哪个前景更好
  19. 重新开始学Java——java中的标识符(biao,zhi,fu)、关键字和代码规范
  20. 遥感智能解译相关产品及公司

热门文章

  1. java String计算MD5的三种方法以及文件计算MD5的方法
  2. 关于小黄车ofo的冬季
  3. Executor, ExecutorService 和 Executors 间的不同
  4. greenDAO与Realm的探索
  5. 贝叶斯推理——概率思维
  6. 坐头等舱会比坐经济舱先到达目的地吗
  7. matlab——矩阵点乘,叉乘
  8. 首小时单品破亿、总销售破1.9亿,德施曼双十一首日再获全网第一
  9. Android Runnable
  10. 用lwip发送大量数据时,遇到的问题解答记录