http://my.oschina.net/bsnfei/blog/60545
//需下载iText.jar及iTextAsian.jar包
//生成ean13格式或ean8格式条形码PDF打印
public void getExportPDF(List<Object> list, OutputStream os) throws MalformedURLException, IOException, DocumentException{
try {
//itext在pdf中输入中文字体(中文楷体)时:
bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
// 设置之纸张为A4纸,左右上下边距全部为5,
document = new Document(PageSize.A4, 50, 50, 50, 50);
// 构造好的pdf文件输出位置
PdfWriter pdf = PdfWriter.getInstance(document, os);
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//生成PDF页脚
HeaderFooter footer = null;
HeaderFooter header = null;
//页眉信息
String headerStr = "此处为页眉";
//生成PDF页眉
header=new HeaderFooter(new Phrase(new Paragraph(headerStr, new com.lowagie.text.Font(bfChinese))),false);
//生成PDF页脚,第多少页
footer=new HeaderFooter(new Phrase(" 第 ", new com.lowagie.text.Font(bfChinese)),new Phrase(" 页", new com.lowagie.text.Font(bfChinese)));
//0居左1居中2居右
header.setAlignment(0);
document.setHeader(header);
footer.setBorder(Rectangle.NO_BORDER);
footer.setAlignment(1);
document.setFooter(footer);
// 打开文件
document.open();
//创建表格
PdfPTable table = new PdfPTable(2);//两列
table.setWidthPercentage(100);
//传入的对象信息
count = list.size();
//避免因为最后一行数据由于不能满足总列数而导致itext自动将其去掉,而生成一些多余的数
int column = 2;
int persons = count;
int yushu = persons % 2;
int tmppersons = persons + (column - yushu);
String barCodeString = "";
String barCode = "";
//对象信息输入pdf文件
for (int i = 0; i < tmppersons; i++) {
if (i < persons) {
//构造个两列一行的表格
PdfPTable mytable = new PdfPTable(2);
//插入图片
Image image = Image.getInstance("image路径");
mytable.addCell(image);
mytable.setWidthPercentage(80);
String cntext = "测试";
mess = new Paragraph(cntext, new com.lowagie.text.Font(bfChinese,11));
//第二列放文字信息
mytable.addCell(mess);
//在单元格中放置构造好的一个表格
table.addCell(mytable);
} else {
//避免因为最后一行数据由于不能满足总列数而导致itext自动将其去掉,不知道有没有其他方法,目前用多余的空格填充
table.addCell(" ");
}
}
document.add(table);
document.close();
}
操作PDF,
参考资料:
Java操作PDF之iText超入门
转自:http://rensanning.iteye.com/blog/1538689