Я предлагаю вам получить прямое содержимое текущей страницы при его создании, а также границу с PdfContentByte
.
Возможно, вы захотите получить класс PdfPageEventHelper
, который рисует в onEndPageevent.
Вы можете запросить текущий размер страницы с помощью параметра document
параметра *1007* и использовать его (немного подправив), чтобы нарисовать границы.Учитывая, что вы используете iTextSharp, у вас, вероятно, есть свойство PageSize
вместо метода get.
Что-то вроде:
public void onEndPage(PdfWriter writer, Document doc) {
PdfContentByte content = writer.getDirectContent();
Rectangle pageRect = doc.getPageSize();
pageRect.setLeft( pageRect.getLeft() + 10 );
pageRect.setRight( pageRect.getRight() - 10 );
pageRect.setTop( pageRect.getTop() - 10 );
pageRect.setBottom( pageRect.getBottom() + 10 );
content.setColorStroke( Color.red );
content.rectangle(pageRect.getLeft(), pageRect.getBottom(), pageRect.getWidth(), pageRect.getHeight());
content.stroke();
}
Обратите внимание, что вы на самом деле можете передать Rectangle
в content.rectangle()
, после чего используются настройки границы и заливки этого прямоугольника.Я подумал, что это может немного сбить с толку, поэтому не кодировал это так.