Задать вопрос
@EvgenJunior

Как в библиотеке pdfMake.js растянуть на всю ширину ячейки вложенную таблицу?

Добрый день! Мне нужно сформировать отчет в pdf формате. Для этого я использую библиотеку pdfmake.js. Отчет состоит из таблиц, вложенных таблиц. Трудность возникла в следующем: не могу растянуть вложенную таблицу на всю высоту ячейки.
Заранее благодарю за подсказку.
P.S проект делается на React.js

const docDefinition: TDocumentDefinitions = {
    pageOrientation: 'landscape',
    pageSize: 'A4',
    content: [
      {
        text: '1.1.1 Text',
        style: 'header'
      },
      'Text',
      {
        style: 'tableExample',
        table: {
          dontBreakRows: true,
          widths: ['17.5%', '17.5%', '17.5%', '17.5%', '30%'],
          body: [
            [
              { text: 'Text text Text text Text text Text text Text text Text text Text textText text Text text Text text', alignment: 'center' },
              { text: 'Text text', alignment: 'center' },
              {
                text: 'Text text',
                alignment: 'center'
              },
              {
                text: 'Text text',
                alignment: 'center'
              },
              {
                style: 'titleInnerTable',
                table: {
                  widths: ['33.33%', '33.33%', '33.33%'],
                  body: [
                    [
                      {
                        text: 'Text',
                        colSpan: 3,
                        alignment: 'center'
                      },
                      {},
                      {}
                    ],
                    ['Text', 'Text', 'Text']
                  ]
                },
                layout: {
                  hLineWidth(i, node) {
                    return i === 0 || i === node.table.body.length ? 2 : 1;
                  }
                }
              }
            ],
            [
              {
                text: 'text1',
                alignment: 'center'
              },
              'text2',
              'text3',
              'text4',
              {
                table: {
                  widths: ['33.33%', '33.33%', '33.33%'],
                  heights: ['50%', '50%'],
                  body: [
                    [
                      {
                        text: 'Text'
                      },
                      {
                        text: 'Text'
                      },
                      {
                        text: ''
                      }
                    ],
                    [
                      {
                        text: 'Text'
                      },
                      {
                        text: 'Text'
                      },
                      {
                        text: ''
                      }
                    ]
                  ]
                },
                layout: {
                  hLineWidth(i, node) {
                    return i === 0 || i === node.table.body.length ? 0 : 1;
                  },
                  vLineWidth(i) {
                    return 0;
                  }
                }
              }
            ]
          ]
        }
      }
    ],
    styles: {
      tableExample: {
          fontSize: 18,
			bold: true,
			margin: [0, 0, 0, 0]
      },
      titleInnerTable: {
          fontSize: 16,
			bold: true,
			margin: [0, 0, 0, 0]
      }
    }
  };
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽