Java-PDF-利用IText进行PDF的输出(一)
编者注:本博客只做个人学习用,方便查漏补缺,不作任何商业用途。如博客中的内容有侵略到您的知识产权,请及时联系我删除。
由于项目中的需要,因此需要对各种报表进行处理,在网上查阅各种资料后,最终选择通过IText来进行PDF的生成。IText是一种生成PDF报表的Java组件,主要用于在企业的管理系统中对报表进行处理和输出。本章节作为引入篇,主要介绍IText生成PDF文件的五个基础步骤,以及其中涉及的几个主要的Class中的一些方法的解释。
关于开发环境:
开发工具:IDEA;项目管理工具:Maven;JDK:1.8;系统:Windows7
开始前准备
构建Maven项目,并引入IText所需jar包,主要的Maven依赖项如下:
利用IText创建PDF的五个基础步骤
1.创建com.itextpdf.text.Document对象:
Document document = new Document();
2.创建com.itextpdf.text.pdf.PdfWriter对象
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("path"));
3.打开当前的Document对象
document.open();
4.为当前的Document对象添加内容
document.add(new Paragraph("Hello World");
5.关闭Document对象
document.close();
重点类解析
(一)com.itextpdf.text.Document类
该类是IText中用于定义PDF文档的类,其有三个构造函数:
1.第一个构造函数默认以A4页面作为参数,并调用第二个构造函数,设置了页面边距值
2.第二个构造函数用户可自定义页面大小,并默认以每边36磅页边距为参数调用第三个构造函数
3.第三个构造函数用户可自定义页面大小以及页面边距,并设置了其他相关默认值
除了对应的构造函数之外,我们还发现了构造函数参数中出现的几个可以由用于*设定的参数值,下面我们也来介绍一下这些参数值:
1.页面尺寸设置Rectangle
Rectangle类实现了com.itextpdf.text.Element类,其中定义了跟页面相关的属性,如border/backgroundColor等,其中除了几个final变量不能自己定义外,其他都都可以根据自己的需要来设置值。
例如:创建一个细长的蓝色背景的页面
Rectangle pageSize = new Rectangle(144, 720);
//pageSize.BackgroundColor = new Color(0xFF, 0xFF, 0xDE);
pageSize.setBorderColor(newBaseColor(0xFF, 0xFF, 0xDE));
Document document = new Document(pageSize);
除了这种方式之外,你还可以用com.itextpdf.text.PageSize类来创建自己所需的页面大小。PageSize类中定义了一系列的Rectangle类型的常量,并且这些常量是static的,因此你可以直接通过类名调用,非常方便。
例如:设置一个A4页面
Document document = new Document(PageSize.A4);