package com.jll.demo; import java.io.FileOutputStream; import java.io.IOException; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.PageSize; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.ColumnText; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfWriter; public class PDFBuilder { private int pageHeight; private int pageWidth; public PDFBuilder(){ } public static PDFBuilder getInstance(){ return new PDFBuilder(); } //这个方法主要是测试可不可以显示 第几页/共几页 模式 public void generatePDF()throws Exception{ Document document = new Document(new Rectangle(pageWidth,pageHeight)); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:\\3.pdf")); setFooter(writer); writer.setFullCompression(); writer.setPdfVersion(PdfWriter.VERSION_1_4); document.open(); PdfContentByte cb = writer.getDirectContent(); new ColumnText(cb); for (int i = 0; i < 10; i++) { document.newPage(); //如果不设置 空白页无法单独显示 writer.setPageEmpty(false); } document.close(); } public static void setFooter(PdfWriter writer) throws DocumentException,IOException{ //更改事件,瞬间变身 第几页/共几页 模式。 PdfReportM1HeaderFooter headerFooter = new PdfReportM1HeaderFooter(); //就是上面那个类 writer.setBoxSize("art",PageSize.A4); writer.setPageEvent(headerFooter); } public int getPageHeight() { return pageHeight; } public void setPageHeight(int pageHeight) { this.pageHeight = pageHeight; } public int getPageWidth() { return pageWidth; } public void setPageWidth(int pageWidth) { this.pageWidth = pageWidth; } public static void main(String[] args) throws Exception { PDFBuilder builder = new PDFBuilder(); builder.setPageHeight(400); builder.setPageWidth(600); //builder.generatePDF(); } }
最近下载更多
最近浏览更多
1358849392 LV21
2022年11月23日
akbar2020 LV9
2022年9月4日
是你爸爸啊100 LV5
2022年8月29日
crosa_Don LV18
2022年6月7日
heifenglei LV7
2022年4月7日
nickshen111 LV8
2021年12月13日
来恬爸爸晋亚阳 LV3
2021年10月29日
疯狂的巨兔12138 LV4
2021年5月14日
阿玉之父 LV1
2021年4月22日
一字清华 LV8
2021年2月21日