Вы смешиваете низкоуровневые манипуляции (doc.getPdfDocument().addNewPage()
) с высокоуровневыми (например, добавление элементов в Document
).Если вы используете высокоуровневый API, постарайтесь придерживаться его как можно больше.Для перехода на новую страницу вы можете использовать doc.add(new AreaBreak());
.Также убедитесь, что вы установили поля перед тем, как фактически добавлять контент на новую страницу.
Переписывание вашего кода во что-то вроде следующего работает, как и ожидалось - поля чередуются от страницы к странице:
int n = 0;
for (int i = 0; i < 5; i++) {
if (n % 2 == 0) {
doc.setLeftMargin(100);
} else {
doc.setLeftMargin(200);
}
// Make sure to set margins before adding elements to new page
if (i > 0) {
doc.add(new AreaBreak());
}
doc.add(new Paragraph("Hello"));
n++;
}