2015-08-20 4 views
3

Я хотел бы создать таблицу со списком точек. Я не знаю заранее, сколько точек у меня есть, но если они переполняют ячейку, я хочу, чтобы они обертывались, как и текст. Мой код выглядит примерно так:iText: Список изображений в ячейке

PdfPTable table = new PdfPTable(1); 
table.setTotalWidth(new float[]{80}); 
table.setLockedWidth(true); 
Phrase listOfDots = new Phrase(); 
for (int i = 0; i < 40; i++) { 
    listOfDots.add(new Chunk(pdf.correct, 0, 0)); 
    listOfDots.add(new Chunk(" ")); 
} 
table.addCell(listOfDots); 
outerCell.addElement(table); 

Отверстие точек, как и ожидалось, но они не все имеют одинаковый размер. Есть 7 строк по 5 точек каждый, и все 35 точек имеют одинаковый размер. Последняя строка из 5 точек примерно вдвое меньше остальных.

(я пытался опубликовать изображение, но я не ветеран достаточно на этом сайте.)

Есть ли способ, чтобы сделать все изображения одинакового размера?

ответ

1

Пожалуйста, взгляните на пример ImagesInChunkInCell. Вместо пули я взял изображение лампочки. Я был в состоянии воспроизвести проблему вы описали, но как вы можете видеть в list_with_images.pdf, я был в состоянии добавить одну дополнительную строку:

Image image = Image.getInstance(IMG); 
image.setScaleToFitHeight(false); 
PdfPTable table = new PdfPTable(1); 
table.setTotalWidth(new float[]{120}); 
table.setLockedWidth(true); 
Phrase listOfDots = new Phrase(); 
for (int i = 0; i < 40; i++) { 
    listOfDots.add(new Chunk(image, 0, 0)); 
    listOfDots.add(new Chunk(" ")); 
} 
table.addCell(listOfDots); 

Дополнительная линия:

image.setScaleToFitHeight(false); 

Это предотвращает, что изображение масштабируется.

Смежные вопросы