iTex导出PDF

 iText导出PDF,所需jar包如下:

itext-asian-5.2.0.jar 支持导出中文的jar包

itextpdf-5.5.9.jar PDF核心jar包

bcprov-jdk15on-147.jar PDF加密jar包 不加入则会报:org.bouncycastle.asn1.ASN1OctetString 错误。

 

 1 import java.io.FileNotFoundException;
 2 import java.io.FileOutputStream;
 3 import java.io.IOException;
 4 
 5 import com.itextpdf.text.BaseColor;
 6 import com.itextpdf.text.Document;
 7 import com.itextpdf.text.DocumentException;
 8 import com.itextpdf.text.Element;
 9 import com.itextpdf.text.Font;
10 import com.itextpdf.text.Image;
11 import com.itextpdf.text.PageSize;
12 import com.itextpdf.text.Paragraph;
13 import com.itextpdf.text.Phrase;
14 import com.itextpdf.text.pdf.BaseFont;
15 import com.itextpdf.text.pdf.PdfPCell;
16 import com.itextpdf.text.pdf.PdfPTable;
17 import com.itextpdf.text.pdf.PdfWriter;
18 
19 public class JavaPdfHelloWorld {
20     public static void main(String[] args)
21         throws IOException {
22         Document document = new Document();
23         try {
24             //中文字体
25             BaseFont bfChinese =
26                 BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
27             Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
28             //写入器
29             PdfWriter writer = PdfWriter.getInstance(document,
30                 new FileOutputStream("C:\\Users\\hp\\Desktop\\HelloWorld.pdf"));
31             // 设置密码为:"World"  
32             writer.setEncryption("xiaofei".getBytes(),
33                 "12346".getBytes(),
34                 PdfWriter.ALLOW_SCREENREADERS,
35                 PdfWriter.STANDARD_ENCRYPTION_128);
36             //添加PDF属性
37             document.addTitle("小飞机的测试PDF");
38             document.setPageSize(PageSize.A4);
39             document.addAuthor("xiaofei.xian");
40             document.addCreationDate();
41             document.addKeywords("xianxiaofei,xiaofei,fei,pdf,PDF,sysecho,Sysecho,SYSECHO");
42             document.addSubject("12341234567");
43             document.open();
44             Paragraph pph1 = new Paragraph("因为我想活着,我不能掩藏我心中的本欲,正如我心中爱你美丽,又怎能嘴上装四大皆空。", FontChinese);
45             pph1.setSpacingAfter(50);
46             pph1.setSpacingBefore(50);
47             pph1.setFont(FontChinese);
48             document.add(pph1);
49             //读取一个图片
50             Image image = Image.getInstance("C:\\Users\\hp\\Desktop\\1.jpg");
51             //设置图片的位置 
52             image.setAbsolutePosition(50, 750);
53             //设置图片的大小 
54             image.scaleAbsolute(68, 80);
55             //插入一个图片
56             document.add(image);
57             
58             //表格插入
59             PdfPTable table = new PdfPTable(3);
60             table.setHorizontalAlignment(Element.ALIGN_LEFT);
61             PdfPCell cell = new PdfPCell(new Phrase("表头1", FontChinese));
62             cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
63             cell.setHorizontalAlignment(Element.ALIGN_CENTER);
64             table.addCell(cell);
65             cell.setPhrase(new Phrase("表头2", FontChinese));
66             table.addCell(cell);
67             cell.setPhrase(new Phrase("表头3", FontChinese));
68             table.addCell(cell);
69             table.addCell("2.1");
70             table.addCell("2.2");
71             table.addCell("2.3");
72             document.add(table);
73             document.close();
74             writer.close();
75             System.out.println("pdf exported success!");
76         }
77         catch (DocumentException e) {
78             e.printStackTrace();
79         }
80         catch (FileNotFoundException e) {
81             e.printStackTrace();
82         }
83     }
84 }

 

posted @ 2016-05-23 17:01  沽名钓誉  阅读(1974)  评论(0编辑  收藏  举报