Читать PowerPoint в R

Можно ли импортировать файлы PowerPoint в R? Я видел, что вы можете использовать пакет ReporteRs для создания файлов PowerPoint и управления ими, но ничего не нашел об их импорте.

Я надеялся, что смогу загрузить pptx в такой объект, как.

pptx1<-read.ppt(file1)
pptx2<-read.ppt(file2)

а потом объединить их в один файл

pptx1<-addslide(pptx2,..)

Предыстория: я хотел бы создать инструмент отчетности на основе слайдов из множества разных файлов PowerPoint, и, поскольку я очень плохо разбираюсь в VBA, я надеялся, что R может быть хорошей альтернативой.


person Max M    schedule 26.08.2016    source источник


Ответы (1)


возможно, слишком поздно, но пакет officer может импортировать данные из файла pptx или docx в аккуратном формате:

example_pptx <- system.file(package = "officer", "doc_examples/example.pptx")
doc <- read_pptx(example_pptx)
content <- pptx_summary(doc)
content

# A tibble: 29 x 9
                text    id content_type slide_id row_id cell_id col_span
               <chr> <chr>        <chr>    <int>  <int>   <int>    <dbl>
 1             Title    12    paragraph        1     NA      NA       NA
 2          A table     13    paragraph        1     NA      NA       NA
 3     and some text    13    paragraph        1     NA      NA       NA
 4 and some list (1)    13    paragraph        1     NA      NA       NA
 5 and some list (2)    13    paragraph        1     NA      NA       NA
 6         Header 1     18   table cell        1      1       1        1
 7          Header 2    18   table cell        1      1       2        1
 8          Header 3    18   table cell        1      1       3        1
 9                 A    18   table cell        1      2       1        1
10             12.23    18   table cell        1      2       2        1
# ... with 19 more rows, and 2 more variables: row_span <dbl>,
#   media_file <chr>
person David Gohel    schedule 22.06.2017
comment
Круто, вы можете потом отредактировать слайды в R или просто объединить два разных слайда в один файл, а также записать его как новый pptx? Тогда это будет мой ответ, хотя он мне больше не нужен :) @David Gohel - person Max M; 22.06.2017
comment
да, вы можете изменять слайды, я не уверен, что вы подразумеваете под объединением двух разных слайдов в один файл. - person David Gohel; 22.06.2017
comment
Хорошо, я был слеп из-за названия вашего вопроса... Нет, это невозможно. - person David Gohel; 22.06.2017
comment
Ах, как жаль, но это было бы неплохо иметь. Функция, которая позволяет вам скопировать весь слайд из вашего примера и вставить его в пустой объект, созданный из read_pptx() Кстати, функция pptx_summary у меня не сработала. Я скачал ваш пакет из CRAN - person Max M; 22.06.2017
comment
что не сработало? у тебя ошибка, у тебя пустая таблица? - person David Gohel; 22.06.2017
comment
Ошибка: не удалось найти функцию pptx_summary Я также не смог скачать пример system.file, но это, вероятно, связано с чем-то другим - person Max M; 22.06.2017
comment
Вместо .pptx, если мой шаблон имеет формат .ppt, как я могу его прочитать? - person ah bon; 10.12.2020