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日

