使用IText打印PDF
IText是开源的,对与打印PDF做的还不错,下边一个例子关于IText的,列出了大部份常用的功能。<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">http://www.agoit.com/Images/OutliningIndicators/None.gifimport java.io.FileOutputStream;
http://www.agoit.com/Images/OutliningIndicators/None.gif
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.Cell;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.Document;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.Font;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.PageSize;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.Paragraph;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.Table;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.pdf.BaseFont;
http://www.agoit.com/Images/OutliningIndicators/None.gifimport com.lowagie.text.pdf.PdfWriter;
http://www.agoit.com/Images/OutliningIndicators/None.gif
http://www.agoit.com/Images/OutliningIndicators/None.gif
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifpublic class Example http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif private static Font FONT_11;
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif private static BaseFont msgothic;
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public static void main(String[] args) throws Exceptionhttp://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif tryhttp://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //定义字体
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif msgothic = BaseFont.createFont("D:\\workspace\\UseIText\\MSMINCHO.TTC,0",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif FONT_11=new Font(msgothic);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif FONT_11.setSize(11);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif }catch(Exception e)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif e.printStackTrace();
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //为了测试方便,加入自动关闭打开acrord32
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Runtime.getRuntime().exec("tskill acrord32").waitFor();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Thread.sleep(1000);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Document document=new Document(PageSize.A4.rotate());
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //写文件
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif PdfWriter writer=PdfWriter.getInstance(document, new FileOutputStream("d:/temp.pdf"));
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif document.open();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif makeDocument(document);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif document.close();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //为了测试方便,加入自动关闭打开acrord32
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Runtime.getRuntime().exec("\"c:\\Program Files\\Adobe\\Acrobat 7.0\\Reader\\acrord32.exe\" d:/temp.pdf").waitFor();
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public static void makeDocument(Document document)throws Exceptionhttp://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //table大部份操做类似与html,下边是一些常用的参数
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //3是总的列数,也可以同时指定行数和列数new Table(3,4)
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Table table=new Table(3);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //table的宽度
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setWidth(98);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //类似html的cellSpaceing
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setSpacing(2);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //每一列的宽度,是比例不是固定宽度
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif table.setWidths(new int[]http://www.agoit.com/Images/dot.gif{10,30,60});
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //对齐方式
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setAlignment("CENTER");
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //table是否有边框
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setBorder(0);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //cell默认是否有边框
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setDefaultCellBorder(0);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //自动填充空白
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.setAutoFillEmptyCells(true);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif int n=10;
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif for(int i=0;i<n;i++)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif makeContent(table);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //新的一页要加上这句
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif document.newPage();
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif for(int i=0;i<n;i++)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif makeContent(table);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif document.add(table);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public static void makeContent(Table table)throws Exception http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif int len = table.columns();
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif for(int i=0;i<len;i++)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif String testStr = "test"+i+"xxxxxxxxxxxxxxxxxxxxxx";
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Cell cell=new Cell(testStr);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //max lines ,设置成1防止换行,配合cell宽度,可以实现自动截取
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif cell.setMaxLines(1);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif table.addCell(cell);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //构造一个自定义的cell
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public static Cell makeCell(int colspan,String align,int maxLines,Font font)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Cell cell = null;
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Paragraph paragraph =null;
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif tryhttp://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //使用自定义字体
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif paragraph=new Paragraph("testxxx",font);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif cell=new Cell(paragraph);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //设置colspan,同样的方法可以设置rowspan
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif if(colspan >1)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif cell.setColspan(colspan);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //设置对齐
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif if((align != null) && (!align.equals("")))http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif cell.setHorizontalAlignment(align);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif //设置maxlines
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif cell.setMaxLines(maxLines);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif }catch(Exception e)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif e.printStackTrace();
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif return cell;
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
http://www.agoit.com/Images/OutliningIndicators/None.gif
页:
[1]