Как я могу удалить границы таблицы с помощью DocxJS?

#javascript #node.js #docx

#javascript #node.js #docx

Вопрос:

Допустим, я хочу удалить все границы из этой таблицы:

 ---------------------------
|   image    |    text    |
---------------------------
  

Следуя документации в Интернете: https://docx.js.org/#/usage/tables

 new Table({
   borders: {
              top: {style: BorderStyle.NONE},
              bottom: {style: BorderStyle.NONE},
              left: {style: BorderStyle.NONE},
              right: {style: BorderStyle.NONE},
            },
    rows: [
      new TableRow({
        children: [
          new TableCell({
            children: [
              new Paragraph({ children: [some_image_file] }),
            ],
          }),
          new TableCell({
            children: [
              new Paragraph({ text: "text" }),
            ],
          }),
        ],
      }),
     ],
  })
  

Это дает:

    image    |    text    
  

Согласно документации, перемещение параметров границ внутри TableCell должно повлиять на границы ячейки, но я не вижу результатов, когда я это делаю. Есть идеи, как создать таблицу без каких-либо границ?

Комментарии:

1. Привет! Честно говоря, я не слышал о docx.js , но, просматривая документацию, вы пробовали добавить size: 0 к свойствам границы? Просто догадка.

2. @cbloss793 Только что проверил, и это работает! Странно то, что для самой таблицы вам не нужно указывать размер, чтобы граница исчезла (как показано выше). Однако для ячеек кажется, что вы должны указать размер (и я думаю, что настройка color: "FFFFFF" — хорошая идея на всякий случай). Спасибо за быстрый ответ.

3. Добро пожаловать! Иногда подобные вещи случаются, когда вам приходится прыгать через обручи для чего-то настолько простого. Можете ли вы поставить мне 1 (треугольник вверх) в комментарии? Спасибо!

4. @cbloss793 Готово!

5. Спасибо!! Очень признателен.

Ответ №1:

Как упоминалось @cbloss793, кажется, что параметры границы для TableCell также должны содержать size: 0 атрибут для удаления соответствующей границы. Я также добавил color: "FFFFFF" на всякий случай.

 ...
new TableCell({
   borders: {
          top: {style: BorderStyle.NONE, size: 0, color: "FFFFFF"},
          bottom: {style: BorderStyle.NONE, size: 0, color: "FFFFFF"},
          left: {style: BorderStyle.NONE, size: 0, color: "FFFFFF"},
          right: {style: BorderStyle.NONE, size: 0, color: "FFFFFF"},
        },
...
  

Комментарии:

1. единственное изменение, которое работает, — это белый цвет