- iText - Overview
- iText - Creating a PDF Document
- iText - Adding an AreaBreak
- iText - Adding a Paragraph
- iText - Adding a List
- iText Tables
- iText - Adding a Table
- iText - Formatting Cell Contents
- Formatting the Borders of a Cell
- iText - Adding Image to a Table
- iText - Nested Table
- iText - Adding Lists to a Table
- iText Images
- iText - Adding Image to a PDF
- iText - Setting Position of the Image
- iText - Scaling an Image
- iText - Rotating an Image
- iText Annotations
- iText - Text Annotation
- iText - Link Annotation
- iText - Line Annotation
- iText - Markup Annotation
- iText - Circle Annotation
- iText Miscellaneous
- iText - Setting Font
- iText - Shrinking the Content
- iText - Tiling PDF Pages
- iText - N-up
- iText Useful Resources
- iText - Quick Guide
- iText - Useful Resources
- iText - Discussion
iText - N-up
The following Java program demonstrates how to perform N-up on a PDF page using the iText library. It creates a PDF document with the name nUppingPDF.pdf and saves it in the path C:/itextExamples/
Save this code in a file with the name NUppingPDF.java.
import com.itextpdf.kernel.geom.AffineTransform;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;
public class NUppingPDF {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/nUppingPDF.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfReader
String src = "C:/itextExamples/pdfWithImage.pdf";
PdfReader reader = new PdfReader(src);
// Creating a PdfDocument objects
PdfDocument destpdf = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
// Opening a page from the existing PDF
PdfPage origPage = srcPdf.getPage(1);
Rectangle orig = origPage.getPageSize();
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
// N-up page
PageSize nUpPageSize = PageSize.A4.rotate();
PdfPage page = destpdf.addNewPage(nUpPageSize);
PdfCanvas canvas = new PdfCanvas(page);
// Scale page
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
nUpPageSize.getWidth() / orig.getWidth() /
2f, nUpPageSize.getHeight() / orig.getHeight() / 2f);
canvas.concatMatrix(transformationMatrix);
// Add pages to N-up page
canvas.addXObject(pageCopy, 0, orig.getHeight());
canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());
canvas.addXObject(pageCopy, 0, 0);
canvas.addXObject(pageCopy, orig.getWidth(), 0);
// closing the documents
destpdf.close();
srcPdf.close();
System.out.println("PDF created successfully..");
}
}
Compile and execute the saved Java file from the Command prompt using the following commands −
javac NUppingPDF.java java NUppingPDF
Upon execution, the above program creates a PDF document displaying the following message.
PDF created successfully..
If you verify the specified path, you can find the created PDF document, as shown below.
Advertisements