您的位置:首页 > 其它

导出文本、表格、图像到PDF格式文件中(学习整理)

2016-07-17 20:01 531 查看
1、测试例子:

需要导入的外部jar包:



相关API

http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/package-summary.html

推荐博客相关参考资料:

http://www.cnblogs.com/linjiqin/p/3539283.html

importjava.awt.Color;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.net.URL;

importjavax.imageio.ImageIO;

importsun.font.FontFamily;

importcom.lowagie.text.Cell;
importcom.lowagie.text.Document;
importcom.lowagie.text.Font;
importcom.lowagie.text.FontFactory;
importcom.lowagie.text.Image;
importcom.lowagie.text.Paragraph;
importcom.lowagie.text.Row;
importcom.lowagie.text.Table;
importcom.lowagie.text.pdf.BaseFont;
importcom.lowagie.text.pdf.PdfWriter;

/**
*导出数据:
*输出PDF格式文件:
*CreatedbyJason2016-7-17下午5:01:41
*/
publicclassPrinterTest{

publicstaticvoidmain(String[]args){

/**
*第一步:创建PDF文档对象
*/
Documentdoc=newDocument();
try{
/**
*第二步:流对象的准备
*/
FileOutputStreamfos=newFileOutputStream("测试pdf格式文件.pdf");
PdfWriterwriter=PdfWriter.getInstance(doc,fos);

/**
*第三步:打开文档
*/
doc.open();
/**
*第四步:设置文档信息输出属性:下面设置的是中文字体
*/
BaseFontbf=BaseFont.createFont("STSong-Light",//被封装过的字体类型:字体
"UniGB-UCS2-H",//pdf编码格式和pdf数据显示方向:(xxx-H)水平、(xxx-V)垂直
BaseFont.NOT_EMBEDDED);//boolean值意义不大

Fontfont=newFont(bf,18,Font.BOLD,Color.green);

/**
*第五步:写入文档内容
*/

/*************************【插入Table表格】******************************************/

Tabletable=newTable(3,10);//3列10行

for(inti=1;i<=10;i++){
if(i==1){//列标题
table.addCell(newCell("Name"),0,0);
table.addCell(newCell("Sex"),0,1);
table.addCell(newCell("Hobby"),0,2);
}else{//行数据
for(intj=1;j<=3;j++){
table.addCell(newCell("("+i+","+j+")"),i-1,j-1);
}
}

}

table.setBorder(6);
table.setBorderWidthBottom(2);table.setBorderWidthTop(2);
table.setBorderColor(Color.green);
table.setBorderColorBottom(Color.red);
table.setBorderColorTop(Color.red);
table.setAlignment(1);//表格:0:左,1:中,2:右
table.setBackgroundColor(Color.lightGray);

doc.add(table);

doc.add(newParagraph("\n\n\n"));
/*************************【插入Image图片】******************************************/
Imagepng=Image.getInstance("aa.png");
png.setAbsolutePosition(140,140);//定位原点:屏幕左下角为圆心
doc.add(png);

/*************************【插入文本信息】******************************************/
doc.add(newParagraph("\n\n\n"));
//写入样式1
Paragraphp=newParagraph("测试标题",font);
p.setAlignment(1);
doc.add(p);

//写入样式2:
font.setColor(Color.red);
doc.add(newParagraph("我是小风,我爱彦!\n信息:123:IamJason,IloveAngleYan!\n信息:123:IamJason,IloveAngleYan!",
font));;//字体颜色

//提示导出成功!
System.out.println("导出成功!");
/**
*第六步:关闭文档
*/
doc.close();
}catch(FileNotFoundExceptione){
System.err.println("没有找到文档对象!");
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
}



2、测试输出:



输出样式:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: