@awais.hafeez,
The code you shared above is working but this logic is making all the pages of document of bigger size from the place of bigger table. But as per my requirement , i have the make those pages to be of bigger size (22*72) who are having bigger table . rest other pages size will be default size means not modified one.
Below is the code that i am trying but i not able to set the olderSection (or content of olderSection) back to document.
NodeCollection
tables = document.getChildNodes(NodeType.TABLE, true);
Iterator
tabIterator = tables.iterator();
while (tabIterator.hasNext()) {
Table table = tabIterator.next();
double currentPgHeight = 0;
double currentPgWidth = 0;
DocumentBuilder docbuilder = new DocumentBuilder(document);
Section oldSec = docbuilder.getCurrentSection();
Section section = (Section) table.getAncestor(NodeType.SECTION);
Section newSec = docbuilder.getCurrentSection();
for (Paragraph para : (Iterable) table.getChildNodes(NodeType.PARAGRAPH, true)) {
enumerator.setCurrent(collector.getEntity(para));
double pageWidthA4Size = 8.3
22;
double pageHeightA4Size = 11.722;
double left = enumerator.getRectangle().getX();
if (enumerator.getRectangle().width > (pageWidthA4Size - left)) {
docbuilder.moveTo(table.getNextSibling());
docbuilder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
PageSetup pageSetup = docbuilder.getPageSetup();
currentPgHeight = pageSetup.getPageHeight();
currentPgWidth = pageSetup.getPageWidth();
pageSetup.setPageWidth(22 * 72);
pageSetup.setPageHeight(22 * 72);
targetParas.add(para);
}
}
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
//from here i want to retain the older pageSetup.
docbuilder.moveToCell(tables.indexOf(table),table.indexOf(table.getLastRow()),table.getLastRow().indexOf(table.getLastRow().getLastCell()),0);
docbuilder.insertBreak(BreakType.SECTION_BREAK_CONTINUOUS);
document.getLastSection().appendContent(oldSec);
docbuilder.getCurrentSection().getPageSetup().setPageHeight(currentPgHeight);
docbuilder.getCurrentSection().getPageSetup().setPageWidth(currentPgWidth);
}
can you please help me ASAP.
Thank you !!