Example usage for org.apache.pdfbox.pdmodel PDPage setMediaBox

List of usage examples for org.apache.pdfbox.pdmodel PDPage setMediaBox

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel PDPage setMediaBox.

Prototype

public void setMediaBox(PDRectangle mediaBox) 

Source Link

Document

This will set the mediaBox for this page.

Usage

From source file:swp.bibjsf.renderer.Printer.java

License:Apache License

/**
 * Creates a PDF document containing the ID cards for <code>idcontent</code>.
 *
 * @param idcontent idcontent data of readers whose ID card is to be printed
 * @return PDF document containing the ID cards
 * @throws IOException thrown if document cannot be created
 *///w  w w  . j  ava 2s .c om
protected PDDocument createDocument(List<Content> idcontent) throws IOException {
    // Create a document and add a page to it
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    page.setMediaBox(PDPage.PAGE_SIZE_A4);
    document.addPage(page);

    int rowNumber = 0;
    int columnNumber = 0;
    // print numberOfCardsPerColumn x numberOfCardsPerRow cards per A4 page
    for (Content data : idcontent) {
        // System.out.println("IDCardPrinter.createDocument() " + columnNumber + " " + rowNumber);
        printCard(document, page, columnNumber, rowNumber, data);
        columnNumber++;
        if (columnNumber % numberOfCardsPerRow() == 0) {
            // start new row
            rowNumber++;
            columnNumber = 0;
        }
        if (rowNumber == numberOfCardsPerColumn()) {
            // start new page
            page = new PDPage();
            page.setMediaBox(PDPage.PAGE_SIZE_A4);
            document.addPage(page);
            rowNumber = 0;
        }
    }
    return document;
}