How to add a border to a PDF page?
This is a snippet of my source code:
Rectangle rect= new Rectangle(36,108); rect.enableBorderSide(1); rect.enableBorderSide(2); rect.enableBorderSide(4); rect.enableBorderSide(8); rect.setBorder(2); rect.setBorderColor(BaseColor.BLACK); document.add(rect);
Why am I not able to add border to my PDF page even after enabling borders for all sides? I've set border and its color too still I'm not able to add border.
Posted on StackOverflow on Jul 11, 2014 by user3819936
In iText 7 you will need a few lines of simple code to draw a border of a page:
public void createPdf(String dest) throws IOException {
// Create a PdfDocument
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
// Create a page
pdfDoc.addNewPage();
// Get the dimensions of the page
float width = pdfDoc.getDefaultPageSize().getWidth();
float height = pdfDoc.getDefaultPageSize().getHeight();
// Define a PdfCanvas instance
PdfCanvas canvas = new PdfCanvas(pdfDoc.getFirstPage());
// Add a rectangle
canvas.rectangle(20, 20, width - 40, height - 40);
canvas.stroke();
// Close PdfDocument
pdfDoc.close();
}
Moreover PdfDocument
has a getPage(int page)
method, so you can get any page you want. Whether you are looking for drawing a border for every page, see the PageBorder example, where we implement the IEventHandler
interface and add it to the pdfDoc
on the start page event:
pdfDoc.addEventHandler(PdfDocumentEvent.START_PAGE, new PageBorderEventHandler());
Click this link if you want to see how to answer this question in iText 5.