У меня есть следующий код для создания одного PDF-файла с 2 столбцами и 4 строками. Каждая ячейка содержит изображение.
int labelCount = x;
int columns = 2;
int labelsPerPage = 8;
int rows = labelCount/columns;
int resto = labelCount%columns;
if(resto>0) rows++;
String dest = "path_to_pdf_file";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
doc.setMargins(0, 0, 0, 0);
Table table = new Table(UnitValue.createPercentArray(columns)).useAllAvailableWidth();
Integer iCount = 0;
for (int i = 1; i <= rows; i++) {
for (int y = 1; y <= columns; y++) {
if(iCount<labelCount) {
String fileName = "name_of_image";
Cell cell = new Cell();
cell.add(new com.itextpdf.layout.element.Image(ImageDataFactory.create("full_path_to_image")).setAutoScale(true));
cell.setBorder(Border.NO_BORDER);
table.addCell(cell);
iCount++;
if(iCount==labelsPerPage-1) {
doc.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
}
}
}
}
doc.add(table);
doc.close();
Если количество меток превышает установленный предел (8 на страницу), я хочу, чтобы новая страница была создана со следующими метками.
В мой код я использовал
doc.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
, но он генерирует (я не знаю почему) пустую страницу в начале. На второй странице есть ярлыки.
Как правильно динамически добавлять новую страницу и помещать на нее оставшееся содержимое?
Спасибо