轉載自:http://blog.csdn.net/dinphi/article/details/14122311
1、需要導入itext.jar和itextasian.jar 下載下傳位址:http://sourceforge.net/projects/itext/files/
[java]
view plain
copy
import java.awt.color;
import java.io.file;
import java.io.filenotfoundexception;
import java.io.fileoutputstream;
import java.io.ioexception;
import java.text.decimalformat;
import java.text.numberformat;
import java.util.arraylist;
import java.util.date;
import com.lowagie.text.document;
import com.lowagie.text.documentexception;
import com.lowagie.text.element;
import com.lowagie.text.font;
import com.lowagie.text.pagesize;
import com.lowagie.text.paragraph;
import com.lowagie.text.phrase;
import com.lowagie.text.pdf.basefont;
import com.lowagie.text.pdf.pdfcell;
import com.lowagie.text.pdf.pdfpcell;
import com.lowagie.text.pdf.pdfprow;
import com.lowagie.text.pdf.pdfptable;
import com.lowagie.text.pdf.pdfwriter;
import com.sun.java_cup.internal.internal_error;
public class pdfreport{
document document = new document();// 建立一個document對象
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, 10, font.bold);// 設定字型大小
keyfont = new font(bfchinese, 8, font.bold);// 設定字型大小
textfont = new font(bfchinese, 8, font.normal);// 設定字型大小
} catch (exception e) {
e.printstacktrace();
}
}
public pdfreport(file file) {
document.setpagesize(pagesize.a4);// 設定頁面大小
try {
pdfwriter.getinstance(document,new fileoutputstream(file));
document.open();
} catch (exception e) {
int maxwidth = 520;
public pdfpcell createcell(string value,com.lowagie.text.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,com.lowagie.text.font font){
cell.setverticalalignment(element.align_middle);
cell.sethorizontalalignment(element.align_center);
public pdfpcell createcell(string value,com.lowagie.text.font font,int align,int colspan){
cell.setcolspan(colspan);
public pdfpcell createcell(string value,com.lowagie.text.font font,int align,int colspan,boolean boderflag){
cell.setpadding(3.0f);
if(!boderflag){
cell.setborder(0);
cell.setpaddingtop(15.0f);
cell.setpaddingbottom(8.0f);
}
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);
}catch(exception e){
}
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() throws exception{
pdfptable table = createtable(4);
table.addcell(createcell("學生資訊清單:", keyfont,element.align_left,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, textfont));
table.addcell(createcell(i+15+"", textfont));
table.addcell(createcell((i%2==0)?"男":"女", textfont));
table.addcell(createcell("位址"+i, textfont));
document.add(table);
document.close();
public static void main(string[] args) throws exception {
file file = new file("d:\\text.pdf");
file.createnewfile();
new pdfreport(file).generatepdf();
}