iText разделить ячейку по горизонтали - PullRequest
0 голосов
/ 23 ноября 2018

Я пытался разделить ячейку по горизонтали на две ячейки (1 столбец, 2 строки).В качестве альтернативы также можно добавить горизонтальный разделитель в ячейку.Это должно выглядеть, как показано на рисунке ниже.

example of table with divided cells

Как я могу реализовать это с iText 7 в Java?

1 Ответ

0 голосов
/ 27 ноября 2018

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

Это можно сделать так:

try (   PdfWriter writer = new PdfWriter(RESULT_STREAM_OR_FILE);
        PdfDocument pdfDocument = new PdfDocument(writer);
        Document doc = new Document(pdfDocument)   )
{
    Table table = new Table(new float[] {30, 30, 30, 30, 30, 30, 30, 30, 30});

    for (int i = 0; i < 4; i++) {
        table.addCell(new Cell(2, 1).add(new Paragraph("Text")));
        table.addCell(new Cell(2, 1).add(new Paragraph("Text")));
        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell(2, 1).add(new Paragraph("Text")));
        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell(2, 1).add(new Paragraph("Text")));
        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell(2, 1).add(new Paragraph("Text")));
        table.addCell(new Cell().setHeight(15));

        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell().setHeight(15));
        table.addCell(new Cell().setHeight(15));
    }

    doc.add(table);
    doc.close();
}

( CreateTable test testCreateTableForDennis)

Результат выглядиткак это:

scrren shot


Тестовый код был протестирован с iText 7.1.4-SNAPSHOT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...