package cc.mrbird.febs.server.hr.util;
|
|
import com.itextpdf.text.*;
|
import com.itextpdf.text.pdf.*;
|
|
import java.io.IOException;
|
|
public class HeaderHandle extends PdfPageEventHelper {
|
/**
|
* 页眉
|
*/
|
public String header = "12121";
|
/**
|
* 表格式页眉
|
*/
|
protected PdfPTable headerTable;
|
/**
|
* 文档字体大小,页脚页眉最好和文本大小一致
|
*/
|
public int presentFontSize = 12;
|
private float size=1.0f;
|
/**
|
* 文档页面大小,最好前面传入,否则默认为A4纸张
|
*/
|
public Rectangle pageSize = PageSize.A4;
|
// 基础字体对象
|
public BaseFont bf = null;
|
|
// 利用基础字体生成的字体对象,一般用于生成中文文字
|
public Font fontDetail = null;
|
|
/**
|
*
|
* Creates a new instance of PdfReportM1HeaderFooter 构造方法.
|
*
|
* @param yeMei
|
* 页眉字符串
|
* @param presentFontSize
|
* 数据体字体大小
|
* @param pageSize
|
* 页面文档大小,A4,A5,A6横转翻转等Rectangle对象
|
*/
|
public HeaderHandle(String yeMei, int presentFontSize, Rectangle pageSize) {
|
this.header = yeMei;
|
this.presentFontSize = presentFontSize;
|
this.pageSize = pageSize;
|
}
|
|
public HeaderHandle(PdfPTable headerTable) {
|
this.headerTable = headerTable;
|
}
|
|
public void setHeaderTable(PdfPTable headerTable) {
|
this.headerTable = headerTable;
|
}
|
|
@Override
|
public void onEndPage(PdfWriter writer, Document document) {
|
try {
|
if (bf == null) {
|
bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
|
}
|
if (fontDetail == null) {
|
fontDetail = new Font(bf, presentFontSize, Font.BOLD);// 数据体字体
|
fontDetail.setSize(size);
|
}
|
} catch (DocumentException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
// 1.写入页眉
|
ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase(header, fontDetail), document.left(), document.top() + 20, 0);
|
|
|
// rowEnd为-1 表示写入所有行
|
// headerTable.writeSelectedRows(0, -1, document.left()+document.leftMargin()/2, document.top() + headerTable.getTotalHeight(), writer.getDirectContent());
|
}
|
}
|