java导出pdf文件(插入图片及信息)

//需下载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();
 }


你可能感兴趣的:(java导出pdf文件(插入图片及信息))