Совместите текст после изображения с itextpdf - PullRequest
0 голосов
/ 04 марта 2019

Я пишу набор из 100+ таблиц и диаграмм рассеяния (JFreeChart) в PDF, используя itextpdf, но не могу выровнять таблицу и диаграммы.Приведенный ниже фрагмент кода работает в цикле для добавления таблицы и затем графика:

document.add(getPDFTable(tablst));

document.add(new Paragraph(new Chunk(" ")));
document.add(new Paragraph(new Chunk(" ")));

PdfContentByte cb = writer.getDirectContent();
int width=500,height=400;
PdfTemplate tp = cb.createTemplate(width, height);
Image img = Image.getInstance(tp);
Graphics2D graphics2d = tp.createGraphics(width, height, new DefaultFontMapper());
Rectangle2D rectangle2d = new Rectangle2D.Double(0, 0, width,height);
getScatterPlot(tablst).draw(graphics2d, rectangle2d);
graphics2d.dispose();
//cb.addTemplate(tp, 0, 0);
document.add(img);

Проблема заключается в следующем: когда изображение (график) не помещается после таблицы на той же странице, оноперешел на следующую страницу.Когда цикл повторяется для добавления следующей таблицы, он переходит на предыдущую страницу и начинает писать перед изображением.В результате таблица и график не следуют друг за другом.

Есть ли способ установить писателя сразу после изображения и затем написать следующую таблицу?

...