I want to create a PDF document with different page sizes. I am able to create a document with all the pages of same size. i.e. A4 using HTMLWorker, where I pass the entire HTML Content as input. Then I read the same PDF and trying to generate the response which should have different page sizes. The response generated has different page sizes...but the page content is not shown. Please suggest what is missing here.
File tempFile = new File(tempPDFName);
PdfContentByte canvas = finalPDFWriter.getDirectContent();
PdfReader pdfReader = new PdfReader(new FileInputStream(tempFile));
int totalPages = pdfReader.getNumberOfPages();
PdfImportedPage page;
for (int currentPage = 0 ; currentPage < totalPages ; currentPage++) {
page = finalPDFWriter.getImportedPage(pdfReader, currentPage);
if (currentPage < 2) {
canvas.addTemplate(page, PageSize.A4.width(), PageSize.A4.height());
finalPDFDoc.setPageSize(PageSize.A4);
finalPDFDoc.newPage();
}
else {
canvas.addTemplate(page, PageSize.LEGAL.width(), PageSize.LEGAL.height());
finalPDFDoc.setPageSize(PageSize.LEGAL);
finalPDFDoc.newPage();
}
}
finalPDFDoc.close();