需用的Jar包

https://download.csdn.net/download/GXSeveryday/12380111

点我下载

PDFReport.java

package test;
import java.io.File;
import java.io.FileOutputStream;    import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;    public class PDFReport {private static Font headfont ;// 设置字体大小private static Font keyfont;// 设置字体大小private static Font textfont;// 设置字体大小static{    BaseFont bfChinese;    try {    //bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);    headfont = new Font(bfChinese, 20, Font.BOLD);// 设置字体大小keyfont = new Font(bfChinese, 12, Font.BOLD);// 设置字体大小textfont = new Font(bfChinese, 12, Font.NORMAL);// 设置字体大小} catch (Exception e) {             e.printStackTrace();    }     }    public Document PDFReport(Document document,File file) {            document.setPageSize(PageSize.A4);// 设置页面大小try {    PdfWriter.getInstance(document,new FileOutputStream(file));    document.open();     } catch (Exception e) {    e.printStackTrace();    }     return document; }    int maxWidth = 520;    public PdfPCell createCell(String value,Font font,int align){    PdfPCell cell = new PdfPCell();    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);            cell.setHorizontalAlignment(align);        cell.setPhrase(new Phrase(value,font));    return cell;    }    public PdfPCell createCell(String value,Font font){    PdfPCell cell = new PdfPCell();    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);    cell.setHorizontalAlignment(Element.ALIGN_CENTER);     cell.setPhrase(new Phrase(value,font));    return cell;    }    public PdfPCell createCell(String value,Font font,int align,int colspan){    PdfPCell cell = new PdfPCell();    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);    cell.setHorizontalAlignment(align);        cell.setColspan(colspan);    cell.setPhrase(new Phrase(value,font));    return cell;    }    public PdfPCell createCell(String value,Font font,int align,int colspan,boolean boderFlag){    PdfPCell cell = new PdfPCell();    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);    cell.setHorizontalAlignment(align);        cell.setColspan(colspan);    cell.setPhrase(new Phrase(value,font));    cell.setPadding(3.0f);    if(!boderFlag){    cell.setBorder(0);    cell.setPaddingTop(15.0f);    cell.setPaddingBottom(8.0f);    }    return cell;    }    public PdfPTable createTable(int colNumber){    PdfPTable table = new PdfPTable(colNumber);    try{    table.setTotalWidth(maxWidth);    table.setLockedWidth(true);    table.setHorizontalAlignment(Element.ALIGN_CENTER);         table.getDefaultCell().setBorder(1);   //table.getDefaultCell().setMinimumHeight(120);//设置最小行高}catch(Exception e){    e.printStackTrace();    }    return table;    }    public PdfPTable createTable(float[] widths){    PdfPTable table = new PdfPTable(widths);    try{    table.setTotalWidth(maxWidth);    table.setLockedWidth(true);    table.setHorizontalAlignment(Element.ALIGN_CENTER);         table.getDefaultCell().setBorder(1);    }catch(Exception e){    e.printStackTrace();    }    return table;    }    public PdfPTable createBlankTable(){    PdfPTable table = new PdfPTable(1);    table.getDefaultCell().setBorder(0);    table.addCell(createCell("", keyfont));             table.setSpacingAfter(20.0f);    table.setSpacingBefore(20.0f);    return table;    }    public void generatePDF(File file) throws Exception{   Document document = new Document();// 建立一个Document对象document = PDFReport(document,file);PdfPTable table = createTable(4);    table.addCell(createCell("学生信息列表:", keyfont,Element.ALIGN_CENTER,4,false));    table.addCell(createCell("姓名", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("年龄", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("性别", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("住址", keyfont, Element.ALIGN_CENTER));    for(int i=0;i<5;i++){    table.addCell(createCell("姓"+i, keyfont,Element.ALIGN_LEFT,4,true));    /*table.addCell(createCell(i+15+"", textfont));    table.addCell(createCell((i%2==0)?"男":"女", textfont));    table.addCell(createCell("地址"+i, textfont)); */   }    document.add(table);    document.close();    }    public void  generateOfflinePDF(File file) throws Exception{Document document = new Document();// 建立一个Document对象document = PDFReport(document,file);PdfPTable table = createTable(4);   //抬头table.addCell(createCell("项目缴款通知书", headfont,Element.ALIGN_CENTER,4,false));    //第一行table.addCell(createCell("缴款人姓名:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("测试专用操作", textfont, Element.ALIGN_LEFT));    table.addCell(createCell("缴款人证件号码:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("510522", textfont, Element.ALIGN_LEFT));      //第2行table.addCell(createCell("凭证时间:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("2016-02-03", textfont, Element.ALIGN_LEFT));    table.addCell(createCell("凭证编号:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("112233", textfont, Element.ALIGN_LEFT));  //第3行table.addCell(createCell("项目名称:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("大周皇朝项目", textfont, Element.ALIGN_LEFT,3,true));  //第4行table.addCell(createCell("标的名称:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("标的", textfont, Element.ALIGN_LEFT,3,true));  //第5行table.addCell(createCell("应缴金额:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("15元", textfont, Element.ALIGN_LEFT,3,true));  //第6行table.addCell(createCell("户名:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("王超", textfont, Element.ALIGN_LEFT,3,true)); //第7行table.addCell(createCell("开户行:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("中国银行", textfont, Element.ALIGN_LEFT,3,true));//第8行table.addCell(createCell("账号:", keyfont, Element.ALIGN_CENTER));    table.addCell(createCell("622", textfont, Element.ALIGN_LEFT,3,true));//第9行table.addCell(createCell("特别提醒:", keyfont, Element.ALIGN_LEFT,4,false));  //第10行String tj = "  您的报名信息已与以下账户信息绑定,请选择其中之一进行缴款,不能使用现金缴款。请选择以下注册账户之一进行缴款,若"+ "使用以下账户之外的其他账户进行缴款,或选择两个以上注册账户进行组合缴款的,缴款人将无法取得竞买资格,"+ "说缴款项将作为误进款于项目交易结束后三个工作日内原路径退回。";table.addCell(createCell(tj, textfont, Element.ALIGN_LEFT,4,false));  //第11行String jzsj = "缴款截止日期:"+"2016-02-01";table.addCell(createCell(jzsj, keyfont, Element.ALIGN_LEFT,4,false));  //第12行table.addCell(createCell("序号", textfont, Element.ALIGN_CENTER));  table.addCell(createCell("银行", textfont, Element.ALIGN_CENTER));    table.addCell(createCell("账号", textfont, Element.ALIGN_CENTER,2,true));//第13行table.addCell(createCell("1", textfont, Element.ALIGN_CENTER));  table.addCell(createCell("中国银行", textfont, Element.ALIGN_CENTER));    table.addCell(createCell("510522", textfont, Element.ALIGN_CENTER,2,true));//第14行table.addCell(createCell("收款账户确认:", keyfont, Element.ALIGN_LEFT,4,false)); //第15行String tx = "  项目经理已告知中国建设银行、中国工商银行、重庆农村商业银行可选择为收款银行。本人选择"+"中国银行"+",特此确定。";table.addCell(createCell(tx, textfont, Element.ALIGN_LEFT,4,false)); //第16行table.addCell(createCell("缴款人经办人签字:", keyfont, Element.ALIGN_LEFT,4,false)); document.add(table);    document.close(); }public static void main(String[] args) throws Exception {    File file = new File("D:\\text.pdf");    file.createNewFile();    new PDFReport().generateOfflinePDF(file);          }
}

Java 将HTML转成PDF的方法相关推荐

  1. excel转换pdf java_用Java把Excel转换成PDF的方法

    用Java把Excel转换成PDF的方法 发布时间:2020-05-30 11:48:45 来源:亿速云 阅读:216 作者:鸽子 Java 将Excel转为PDF 本文将介绍在Java程序中如何将E ...

  2. ASP.Net中实现上传过程中将文本文件转换成PDF的方法

    iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...

  3. 用手机把纸质文件扫描成pdf的方法分享,不能错过哦。

    用手机把纸质文件扫描成pdf的方法分享!相信很多小伙伴日常在处理文件的时候,碰到的纸质文件还是非常多的,而且经常会需要我们将纸质的文件转换成电子文件,这时候重新开始写或者重新制作显然是不太现实的,当然 ...

  4. 快速批量把jpg转换成pdf的方法

    快速批量把jpg转换成pdf的方法 很多微友反映,有时在办公过程中遇到需要图片快速批量转化成PDF格式文件或者将多个图片合并为一个PDF文件的情况,想知道有没有一个支持多种格式的JPG转换成PDF转换 ...

  5. caj在线转换成pdf的方法步骤这里有!

    很多人不懂得caj是啥格式,其实它有2种意思:其一,就是中国学术期刊全文数据库:其二,它同时也是中国学术期刊全文数据库中文件的一种格式,要使用专门的浏览器来打开.阅读.为了可以更方便打开.阅读caj文 ...

  6. jpg图片转换成pdf的方法

    常上网查阅资料的网友肯定知道,网络小说中经常附带各种流行图片文件格式,如JPG文件,对于JPG转换成PDF转换器,有没有一款专业的JPG转换器具备将JPG转换成PDF甚至是其他格式呢? 众所周知,传统 ...

  7. CAJ转换成PDF在线方法是什么

    做学术性的朋友经常会需要将CAJ文件转换成PDF文件,毕竟CAJ文件只能在CAJ阅读器上显示,但是有很多转换软件并不能很好的完成转换,小编今天就为大家讲解一下CAJ转换成PDF在线方法是什么,大家要认 ...

  8. 教程:Allegro PCB Editor将光绘导出成PDF的方法

    教程:Allegro PCB Editor将光绘导出成PDF的方法 更新历史 20190714: 首次发布 Allegro PCB Editor是画PCB的优秀软件.有些情况下,我们需要将PCB的光绘 ...

  9. Java 读写docx文件后直接转成PDF文件方法

    java将docx文件转成pdf文件的实现方法,需要的jar包下载地址:https://download.csdn.net/download/keke921231/10529672 1.读写docx文 ...

  10. aspose pdf java,Java 使用aspose.pdf将多张图片转成pdf的方法及示例代码

    1.Aspose组件下载 2、多张图片转成pdf 1) 验证license/** * 获取license * * @return */ public static boolean getLicense ...

最新文章

  1. 谷歌人工智能野心:从“下围棋”开始走向商用赚钱
  2. 关于64位 MS SQL 导入导出 Oracle 引发 ORA-06413 的解决方法
  3. composer安装fxp插件时候提示内存不足且没有交换空间的解决办法
  4. 在Python中什么是slicing?
  5. vsftpd 创建虚拟用户
  6. vs code 前端如何以服务器模式打开 [安装服务器] server insteall
  7. Java中对查出的数据计数_基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”...
  8. android网络编程登录和验证,ASP.NET实现用户注册和验证功能(第4节)
  9. 探秘综合布线产品质保问题
  10. vue 中 v-if 和 v-for 混用时应该注意的事项
  11. spring源码--第七个后置处理器的使用:初始化方法
  12. VScode 下载、安装和设置中文界面
  13. 【Django】实现文件下载
  14. PPT里快速插入上下角标
  15. python中sqrt_Python中sqrt函数怎么用
  16. 时空跳跃者的追捕行动模拟赛
  17. 计算机的用户账户无法更改密码,windows不能更改密码怎么办【解决方法】
  18. redis应用之安装配置介绍
  19. HEVC学习-帧内预测-initAdiPattern函数
  20. 论文参考文献格式详细国家标准

热门文章

  1. linux基础:快速搭建平台
  2. MaxScript 冷门知识点
  3. Win10画图实用小功能------反色
  4. log4j 日志输出级别
  5. 带经纬度的水印相机_经纬度水印相机怎么设置?
  6. maven 使用assembly 进行打包
  7. 轻量级高并发物联网服务器接收程序源码(仅仅是接收硬件数据程序 ,没有web端
  8. linux 数位板内核,在Linux操作系统下使用高漫、绘王、Wacom等数位板的方法
  9. C#使用MX Component与三菱PLC建立通讯(以FX5U举例)
  10. 将bat文件转化成exe