В нижнем колонтитуле каждого созданного документа я постарался отразить порядковый номер текущей страницы и общее количество страниц в документе, то есть предоставить строку типа: «Страница 1 из 3».
Однако правильно отразить общее количество страниц в одном документе невозможно. В нижнем колонтитуле отображается общее количество страниц всего пакета документов.
Вот часть моего кода:
Код: Выделить всё
XWPFHeaderFooterPolicy headerFooterPolicy = firstDocument.getHeaderFooterPolicy();
if (headerFooterPolicy == null)
headerFooterPolicy = firstDocument.createHeaderFooterPolicy();
XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
XWPFParagraph parafooter = footer.createParagraph();
parafooter.setAlignment(ParagraphAlignment.RIGHT);
XWPFRun runfooter = parafooter.createRun();
runfooter.setText("First line");
runfooter.setFontFamily("Times New Roman");
XWPFParagraph parafooter1 = footer.createParagraph();
parafooter1.setAlignment(ParagraphAlignment.RIGHT);
XWPFRun runfooter1 = parafooter1.createRun();
runfooter1.setText("page no. ");
runfooter1.getCTR().addNewPgNum();
runfooter1=parafooter1.createRun();
runfooter1.setText(" of " + firstDocument.getBodyElements().size());
runfooter1.setFontFamily("Times New Roman");
firstDocument.write(new FileOutputStream(new File(fileString + "\\FirstFile.doc")));
firstDocument.close();
Код: Выделить всё
First line
page no. 1 of 41
Подробнее здесь: https://stackoverflow.com/questions/782 ... -correctly