java pdf barcode

来源:互联网 发布:象过河软件怎么使用 编辑:程序博客网 时间:2024/06/16 07:54



package com.laotou99;import java.io.FileOutputStream;import com.itextpdf.text.*;import com.itextpdf.text.pdf.*;//import com.lowagie.text.*;//import com.lowagie.text.pdf.*;public class MainTest1 {public static void main(String[] args) throws Exception{// TODO Auto-generated method stubDocument document = new Document(PageSize.A4,0,0,0,0);PdfWriter writer=null;try{ //支持中文BaseFont bfChinese = BaseFont.createFont(BaseFont.HELVETICA,BaseFont.WINANSI,BaseFont.NOT_EMBEDDED);//BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",false);//BaseFont bfChinese = BaseFont.createFont("STFangsong","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//设置字体Font fontsize4 = new Font(bfChinese,4,Font.NORMAL);Font fontsize5 = new Font(bfChinese,5,Font.BOLD);Font fontsize6 = new Font(bfChinese,6,Font.BOLD);Font fontsize10 = new Font(bfChinese,10,Font.BOLD);Font fontsize8 = new Font(bfChinese,8,Font.BOLD);writer = PdfWriter.getInstance(document, new FileOutputStream("test1.pdf"));document.open();//主表格PdfPTable mainTable = new PdfPTable(2);mainTable.setTotalWidth(320);mainTable.setLockedWidth(true);//默认无边框mainTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER); //表格靠左对齐mainTable.setHorizontalAlignment(Element.ALIGN_LEFT);//****************左表格begin*********************SPdfPTable leftTable = new PdfPTable(1);leftTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER);leftTable.setHorizontalAlignment(Element.ALIGN_LEFT);//==================左表格上部分 begin=================PdfPTable topTable = new PdfPTable(2);topTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER);topTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER);topTable.setHorizontalAlignment(Element.ALIGN_LEFT);//设置表格宽度topTable.setTotalWidth(130);//锁定表格宽度topTable.setLockedWidth(true);topTable.addCell(new Paragraph("Return Mail Address : \nMAIL RETURNS PO BOX\n694 HAYES UB3 9PB\n\nUNITED KINGDOM",fontsize4));//===========左上角字符end=================//===============image begin===============//Image img = Image.getInstance("logo.gif");Image img = Image.getInstance("1231.jpg");//自动调整图片适应单元格topTable.addCell(new PdfPCell(img,true));//===============image end===============leftTable.addCell(topTable);//==================左表格上部分end=================//===========中间表格begin============PdfPTable amongTable = new PdfPTable(1);amongTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER);amongTable.addCell(new Paragraph("Airmail",fontsize8));amongTable.addCell(new Paragraph("Attn:Reinhard Scheffler            DE",fontsize10));amongTable.addCell(new Paragraph("Adds:Hoiminger Str.4",fontsize8));amongTable.addCell(new Paragraph("Havetoft",fontsize8));amongTable.addCell(new Paragraph("24873",fontsize8));amongTable.addCell(new Paragraph("GERMANY"));//将中间部分添加到左表格中leftTable.addCell(amongTable);//==========中间部分end ============//===== 下部分begin=================//下部分的表格PdfPTable underTable = new PdfPTable(2);underTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER);//=========添加条形码begin===================PdfContentByte cd = writer.getDirectContent();Barcode128 code128 = new Barcode128();code128.setCode("SHA201204A7073");Image image128 = code128.createImageWithBarcode(cd, null, null);//新建列PdfPCell barcodeCell = new PdfPCell(image128);barcodeCell.setColspan(2); //垮2列barcodeCell.setHorizontalAlignment(Element.ALIGN_CENTER);barcodeCell.setBorder(PdfPCell.NO_BORDER);underTable.addCell(barcodeCell);//=========添加条形码end===================underTable.addCell(new Paragraph("LYTPY",fontsize4));underTable.addCell(new Paragraph("DC065653]  RefNo:SHA201204A7073",fontsize4));underTable.addCell(new Paragraph("CS:S0283  ",fontsize4));PdfPCell dateCell = new PdfPCell(new Paragraph("07/19 17:34:26",fontsize4));dateCell.setHorizontalAlignment(Element.ALIGN_RIGHT);dateCell.setBorder(PdfPCell.NO_BORDER);underTable.addCell(dateCell);//将下部分添加到左表格leftTable.addCell(underTable);//=====下部分end====================//****************左表格end****************//****************右表格begin****************PdfPTable rightTale =new PdfPTable(3);rightTale.getDefaultCell().setBorder(PdfPCell.NO_BORDER); rightTale.setHorizontalAlignment(Element.ALIGN_LEFT);PdfPCell cell1 = new PdfPCell(new Paragraph("配货单  (贴到包装外,邮政必扣件)",fontsize8));cell1.setColspan(3);cell1.setHorizontalAlignment(Element.ALIGN_CENTER);cell1.setBorder(PdfPCell.NO_BORDER);PdfPCell cell2 = new PdfPCell(new Paragraph("4PX联邮通平邮",fontsize5));cell2.setColspan(3);cell2.setHorizontalAlignment(Element.ALIGN_CENTER);cell2.setBorder(PdfPCell.NO_BORDER);PdfPCell cell3= new PdfPCell(image128);cell3.setColspan(3);cell3.setHorizontalAlignment(Element.ALIGN_CENTER);cell3.setBorder(PdfPCell.NO_BORDER);rightTale.addCell(cell1);rightTale.addCell(cell2);rightTale.addCell(cell3);//============配货信息begin=========================rightTale.addCell(new Paragraph("序号",fontsize6));rightTale.addCell(new Paragraph("配货信息",fontsize6));rightTale.addCell(new Paragraph("数量",fontsize6));rightTale.addCell(new Paragraph("1",fontsize6));rightTale.addCell(new Paragraph("Computer Parts",fontsize6));rightTale.addCell(new Paragraph("1",fontsize6));//============配货信息end=========================//****************右表格end****************//组装表格mainTable.addCell(leftTable);mainTable.addCell(rightTale);//将表格写入PDF中document.add(mainTable);System.out.println("SUCCESS");}catch (Exception e) {e.printStackTrace();} document.close();}}






0 0
原创粉丝点击