目录:
- 介绍
- 实验环境
- 入门示例
[一]、介绍
iText是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF文档,而且可以将HTML网页转化为PDF文件,同时它可以很方便的和web或者其他应用整合使用。
iText 官网:http://www.itextpdf.com/
HTML转换为PDF需要xmlworker :http://sourceforge.net/projects/xmlworker
其他注意点:
- 如果需要自己编译iText包,需要用到第三方的jar:bcprov、bcmail 、bctsp.
- 如果用到中文,需要CJK字体的扩展包:iTextAsian.jar
- 如果用到特殊符号的,需要另一个扩展包:itext-hyph-xml.jar.
- 上述提到的所有lib包,都包含在它的发布版本里。
[二]、实验环境
- java version “1.6.0_18″
- iText 5.3.2
[三]、入门示例
Java代码:DemoMyFirstPDF.java
1 | package com.micmiu.pdf.itext; |
3 | import java.io.FileOutputStream; |
5 | import com.itextpdf.text.BaseColor; |
6 | import com.itextpdf.text.Chunk; |
7 | import com.itextpdf.text.Document; |
8 | import com.itextpdf.text.Font; |
9 | import com.itextpdf.text.PageSize; |
10 | import com.itextpdf.text.Paragraph; |
11 | import com.itextpdf.text.pdf.BaseFont; |
12 | import com.itextpdf.text.pdf.PdfWriter; |
18 | public class DemoMyFirstPDF { |
23 | public static void main(String[] args) throws Exception { |
24 | String pdfPath = "d:/test/itext/demo-first.pdf" ; |
25 | createFirstPDF(pdfPath); |
28 | public static void createFirstPDF(String pdfPath) throws Exception { |
30 | Document document = new Document(PageSize.A4); |
32 | PdfWriter.getInstance(document, new FileOutputStream(pdfPath)); |
37 | document.addAuthor( "Michael Sun" ); |
38 | document.addCreator( "Michael Sun" ); |
39 | document.addTitle( "Michael的技术博客" ); |
40 | document.addSubject( "技术博客" ); |
41 | document.addCreationDate(); |
42 | document.addKeywords( "开源技术,企业架构,集群,负载均衡,分布式,J2EE,Java,SSH" ); |
46 | document.addHeader( "twitter" , "@suncto" ); |
48 | document.addHeader( "mail" , "sjsky007@gmail.coom" ); |
53 | document.add( new Paragraph( "Hello iText." )); |
55 | document.add(Chunk.NEWLINE); |
58 | BaseFont bfCN = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , |
60 | Font fontCN = new Font(bfCN, 12 , Font.NORMAL, BaseColor.BLUE); |
61 | document.add( new Paragraph( "这是中文:欢迎来到iText世界。" , fontCN)); |
运行后生成的PDF文件如下:
![itext-pdf-01](https://i-blog.csdnimg.cn/blog_migrate/90abf455d814be71428ee74cc9eab455.jpeg)