Search code examples
itext7

IText 7 - Adding border for the page


I am looking for adding page border without hardcoding width and height in IText 7.

Tried with Rectangle, but no setBorder method in Itext 7. Also, this is for the entire page.

        Rectangle rect= new Rectangle(100, 100);
        rect.setBorder(2);
        rect.setBorderColor(BaseColor.BLACK);
        document.add(rect);

Pdf creation

final PdfDocument pdfDoc = new PdfDocument(new PdfWriter(pdfFileName)); 
 final Document doc = new Document(pdfDoc); 
 PdfPage page = pdfDoc.getPage(1); 
 Rectangle pageRect = new Rectangle(page.getTrimBox()); 

enter image description here


Solution

  • The following piece of code allows you to draw red border around the specified page of your document. No hard-coding except page number.

    PdfPage page = pdfDocument.getPage(1);
    Rectangle pageRect = new Rectangle(page.getTrimBox());
    new PdfCanvas(page).setStrokeColor(ColorConstants.RED).setLineWidth(5).rectangle(pageRect).stroke();