Добавление маркера перед оператором в PowerPoint через офицера в R

Я использую пакет officer в R для создания воспроизводимых слайдов. Я могу без проблем добавлять маркеры перед предложениями, когда предложения находятся в объекте «body» шаблона PowerPoint, но когда я пытаюсь указать точное местоположение предложения, маркеры не включаются. Пожалуйста, посмотрите сценарий, как показано ниже:

library(officer)
library(dplyr)

pptx.output.st00 <- read_pptx()

pptx.content1 <- c('sample sentence #1',
                   'sample sentence #2',
                   'sample sentence #3')

pptx.content2 <- block_list(fpar(ftext(c('sample sentence #1'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))),
                            fpar(ftext(c('sample sentence #2'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))),
                            fpar(ftext(c('sample sentence #3'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))))

pptx.output.st01 <- pptx.output.st00 %>%
  add_slide(.,layout = 'Title and Content',master = 'Office Theme') %>%
  ph_with(.,value='Background',location=ph_location_type(type='title')) %>%
  ph_with(.,value=pptx.content1,location=ph_location_type(type='body',id = 1)) %>%
  ph_with(.,value=pptx.content2,location=ph_location(left = 0.5,top = 5.25,width = 8.5,height = 2))

print(pptx.output.st01,'presentation.output.pptx')

Интересно, можно ли назначить пулю, когда предложения размещаются с использованием ph_location вместо ph_location_type. Спасибо!


person lokheart    schedule 03.06.2020    source источник


Ответы (1)


Это должно помочь.

  • ph_location_template: необходимо использовать, чтобы мы могли повторно использовать свойства из body (тело имеет связанные маркеры в свойствах)
  • если используется, level_list означает добавить маркеры для каждого абзаца, чтобы добавить
library(officer)
library(dplyr)

pptx.output.st00 <- read_pptx()

pptx.content1 <- c('sample sentence #1',
                   'sample sentence #2',
                   'sample sentence #3')

pptx.content2 <- block_list(fpar(ftext(c('sample sentence #1'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))),
                            fpar(ftext(c('sample sentence #2'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))),
                            fpar(ftext(c('sample sentence #3'),
                                       prop = fp_text(font.family = 'Calibri',font.size=32))))

pptx.output.st01 <- pptx.output.st00 %>%
  add_slide(.,layout = 'Title and Content',master = 'Office Theme') %>%
  ph_with(.,value='Background',location=ph_location_type(type='title')) %>%
  ph_with(.,value=pptx.content1,location=ph_location_type(type='body',id = 1)) %>%

  ph_with(.,value=pptx.content2,
          location = ph_location_template(left = 0.5,top = 5.25,width = 8.5,height = 2, type="body"),
          level_list = 1:3)

print(pptx.output.st01,'presentation.output.pptx')

введите здесь описание изображения

person David Gohel    schedule 03.06.2020