package com.itext.pdf.barcode;
import java.io.FileOutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.Barcode128;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
public class Test {
public static void main(String[] args) throws Exception{
Document document = new Document(PageSize.A4,0,0,0,0);
PdfWriter writer=null;
try{
//支持中文
BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",false);
//设置字体
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("H:/Projece_demo/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*********************S
PdfPTable 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("H:/Projece_demo/logo.gif");
//自动调整图片适应单元格
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();
}
}
分享到:
相关推荐
itext 生成pdf 目录,itext 生成pdf 目录,itext 生成pdf 目录
一段经典的处理iText打印pdf表格代码。
NULL 博文链接:https://x125858805.iteye.com/blog/2239773
Android使用iText生成pdf并读取pdf内容,iText是著名的开放源码的站点sourceforge的一个项目,可用来生成Pdf文件和读取Pdf文件内容.
使用IText生成PDF和WORD文档 包括源码和IText所需jar包
此文档主要讲述了使用Java组件iText来生成PDF,操作PDF
itext生成PDF图片文档
java解决Itext生成PDF中文不换行的问题
pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一枚。注意有个bug,获取字库路径时...
包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar
html渲染页面转换为pdf并设置页眉,页码,水印,目录,二维码
在Java代码中使用itext生成PDF文档,实现PDF文档的导出。
里面包含两个demo实例,分别是itext-pdf生成pdf的,一个是itext-rtf生成word的。其中还附有学习笔记一份,上述生成的文档包括对字体的选择(本地或者iTextAsian里面的),有对图片的添加,有对样式的调整,有对table...
itext将图片生成PDF(高清版),可按比例缩放,三种可选的缩放方式,导出高清版的PDF,直接可导入使用的demo文件,内含jar包,无坑版!
java 使用IText导出PDF(包含图片、表格、文字等等Demo和依赖包),最全IText使用Demo,下载即可用
用itext生成pdf文档,生成的内容有表格形式,文本形式,设置字体样式,文档页边距。
包括itext的jar包,以及对pdf进行签章所需要的jar包,
itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。
Java IText生成PDF,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~