【发布时间】:2018-12-12 06:21:38
【问题描述】:
我需要在特定位置添加一个表格并在所有 pdf 页面中重复而不干扰页眉和页脚 这是我的代码
PdfEventHandler handler = new PdfEventHandler(header, x,y);
pdf.addEventHandler(PdfDocumentEvent.START_PAGE, handler);
Table table = new Table(getcolumnsWidth(pdfColumns, tableWidth));
String line = br.readLine();
process(table, line, true);
while ((line = br.readLine()) != null) {
process(table, line, false);
}
br.close();
document.add(table);
与
public class PdfEventHandler implements IEventHandler {
private String header;
private int x,y;
public PdfEventHandler(String header,int x , int y) {
this.header =header;
this.x = x; this.y =y;
}
@Override
public void handleEvent(Event event) {
PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
PdfDocument pdfDoc = docEvent.getDocument();
PdfPage page = docEvent.getPage();
PdfCanvas pdfCanvas = new PdfCanvas(page.newContentStreamBefore(), page.getResources(), pdfDoc);
Rectangle area = page.getPageSize();
int pageHeight = (int) area.getHeight();
Canvas canvas = new Canvas(pdfCanvas, pdfDoc, area);
canvas.showTextAligned(header, x, y, TextAlignment.CENTER);
}
}
【问题讨论】:
-
可能你的
x和y错了? -
问题是我可以定义表格的位置,如果我设置一个固定的位置,表格只会出现在第一页