Я разделил страницу на 2 столбца.
float widthColumn = doc.getPdfDocument().getDefaultPageSize().getWidth() / countColumn - mainPdf_model.getLeftMargin() - mainPdf_model.getRightMargin();
Rectangle[] columns = {
new Rectangle(-mainPdf_model.getFirstColumnMarginRight() +mainPdf_model.getLeftMargin() , mainPdf_model.getBotomMargin() - mainPdf_model.getTopMargin() -mainPdf_model.getFirstColumnMarginTop(), widthColumn, doc.getPdfDocument().getDefaultPageSize().getHeight() - mainPdf_model.getBotomMargin() - mainPdf_model.getTopMargin() ),
new Rectangle(mainPdf_model.getMarginMiddle() + doc.getPdfDocument().getDefaultPageSize().getWidth() / countColumn, mainPdf_model.getBotomMargin() - mainPdf_model.getTopMargin() -mainPdf_model.getSecondColumnMarginTop(), widthColumn, doc.getPdfDocument().getDefaultPageSize().getHeight() - mainPdf_model.getBotomMargin() - mainPdf_model.getTopMargin())};
doc.setRenderer(new ColumnDocumentRenderer(doc, columns));
И я использовал IEventHandler https://itextpdf.com/en/resources/faq/technical-support/itext-7/how-add-text-header-or-footer
Но он не работает со столбцами. Как добавить текст в качестве заголовка со столбцами?