Я хочу добавить две параллельные таблицы (таблицы содержат более одной страницы) бок о бок в iText7. Визуализация должна выполняться как:
Визуализируйте две таблицы на странице 1, затем добавьте новую страницу. Затем визуализируйте оставшуюся часть таблиц на второй странице. Если они все еще переполняются, добавьте еще одну страницу. Добавьте оставшуюся часть таблицы на странице 3 и т. Д.
Вот подход, который используется в iText5 для этого сценария. Основной код:
ColumnText[] columns = new ColumnText[2];
columns[0]=column1;
columns[1]=column3;
while (addColumns(columns)) {
addNewPage(true, pageId, document, writer);
columns[0].setSimpleColumn(10 * dpiRatio, pageStart * dpiRatio,(10+434) * dpiRatio,pageFooter * dpiRatio);
columns[1].setSimpleColumn(400 * dpiRatio, pageStart * dpiRatio,800 * dpiRatio,pageFooter * dpiRatio);
}
Вспомогательные методы:
public boolean addColumns(ColumnText[] columns) throws DocumentException {
int status = ColumnText.NO_MORE_TEXT;
for (ColumnText column : columns) {
if (ColumnText.hasMoreText(column.go()))
status = ColumnText.NO_MORE_COLUMN;
}
return ColumnText.hasMoreText(status);
}
public void addNewPage(boolean applyHeaderFooter, int pageId,Document document, PdfWriter writer) {
document.newPage();
writer.setPageEmpty(false);
}
Пожалуйста, предложите такой подход в iText7.