Выход FlexTable. Горизонтальный стол .docx, настроенный на узкие поля - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть flextable объект с именем html_table, который я хочу напрямую вставить в текстовый документ в горизонтальной компоновке с узкими полями.Я сталкиваюсь с 2 проблемами:

1) Подход, предложенный в виньетке, создает дополнительные страницы (одну до, одну после таблицы).Я думаю, что это известная проблема, но не ясно, как ее решить.
2) Я хотел бы иметь узкие поля и полученную таблицу на горизонтальных страницах для автоматического размещения на странице.Я хочу, чтобы я мог печатать таблицу, используя как можно больше страниц.Мой текущий подход заключается в том, чтобы вручную открыть документ, изменить макет и выбрать «автозаполнение» в Word.

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

html_table <- regulartable(mtcars)    
doc <- read_docx() %>%
      # Make it landscape
      body_end_section_continuous() %>%
      # Add the table
      body_add_flextable(value = html_table,
                         split = TRUE
                        ) %>%
      body_end_section_landscape()
    # Write the .docx
    print( doc, target = "my_table.docx" )

1 Ответ

0 голосов
/ 07 декабря 2018

В документе Word разделы определяются только тогда, когда они останавливаются (я не могу объяснить, почему это было сделано таким образом, но именно таков базовый xml ...).Также для альбомно-ориентированного раздела требуется разрыв страницы, если предыдущий раздел не является альбомно-ориентированным.

Для автоподбор гибкая таблица, используйте функцию autofit.

library(flextable)
library(officer)
library(magrittr)

html_table <- regulartable(mtcars) %>% 
  autofit()

doc <- read_docx() %>%
  body_add_flextable(value = html_table, split = TRUE) %>%
  body_end_section_landscape() %>% # a landscape section is ending here
  print( target = "my_table.docx" )

enter image description here

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

...