// step 2: we create a writer that listens to the document
PdfWriter writer1 = PdfWriter.getInstance(document1, new FileOutputStream(file1));
PdfWriter writer2 = PdfWriter.getInstance(document2, new FileOutputStream(file2));
// step 3: we open the document
document1.open();
PdfContentByte cb1 = writer1.getDirectContent();
document2.open();
PdfContentByte cb2 = writer2.getDirectContent();
PdfImportedPage page;
int rotation;
int i = 0;
// step 4: we add content
while (i < pagenumber - 1) {
i++;
document1.setPageSize(reader.getPageSizeWithRotation(i));
document1.newPage();
page = writer1.getImportedPage(reader, i);
rotation = reader.getPageRotation(i);
if (rotation == 90 || rotation == 270) {
cb1.addTemplate(page, 0, -1f, 1f, 0, 0, reader.getPageSizeWithRotation(i).height());
}
else {
cb1.addTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
while (i < n) {
i++;
document2.setPageSize(reader.getPageSizeWithRotation(i));
document2.newPage();
page = writer2.getImportedPage(reader, i);
rotation = reader.getPageRotation(i);
if (rotation == 90 || rotation == 270) {
cb2.addTemplate(page, 0, -1f, 1f, 0, 0, reader.getPageSizeWithRotation(i).height());
}
else {
cb2.addTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
// step 5: we close the document
document1.close();
document2.close();