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;
import
java.io.*;
class
GFG {
public
static
void
main(String args[])
throws
Exception
{
String writing_pdf
=
"C:\Users\HP\Downloads\document.pdf"
;
PdfWriter pdf_writer =
new
PdfWriter(writing_pdf);
String reading_pdf
=
"C:\Users\HP\Downloads\image.pdf"
;
PdfReader pdf_reader =
new
PdfReader(reading_pdf);
PdfDocument write =
new
PdfDocument(pdf_writer);
PdfDocument read =
new
PdfDocument(pdf_reader);
PdfPage origPage = read.getPage(
1
);
Rectangle orig = origPage.getPageSizeWithRotation();
PdfFormXObject pageCopy
= origPage.copyAsFormXObject(write);
Rectangle Size = PageSize.A4.rotate();
AffineTransform transformationMatrix
= AffineTransform.getScaleInstance(
Size.getWidth() / orig.getWidth() * 2f,
Size.getHeight() / orig.getHeight() * 2f);
PdfPage page
= write.addNewPage(PageSize.A4.rotate());
PdfCanvas obj =
new
PdfCanvas(page);
obj.concatMatrix(transformationMatrix);
obj.addXObject(pageCopy,
0
, -orig.getHeight() / 2f);
page = write.addNewPage(PageSize.A4.rotate());
obj =
new
PdfCanvas(page);
obj.concatMatrix(transformationMatrix);
obj.addXObject(pageCopy, -orig.getWidth() / 2f,
-orig.getHeight() / 2f);
page = write.addNewPage(PageSize.A4.rotate());
obj =
new
PdfCanvas(page);
obj.concatMatrix(transformationMatrix);
obj.addXObject(pageCopy,
0
,
0
);
page = write.addNewPage(PageSize.A4.rotate());
obj =
new
PdfCanvas(page);
obj.concatMatrix(transformationMatrix);
obj.addXObject(pageCopy, -orig.getWidth() / 2f,
0
);
write.close();
read.close();
System.out.println(
"PDF document is created successfully."
);
}
}