4

我正在使用 R 中的官员包将我的图作为输出传输到 power point 演示文稿。

每次运行代码时,我都想确保 pptx 中没有要保存绘图的幻灯片。

现在我知道如何从演示文稿中删除一张幻灯片。但我不知道如何一次删除所有幻灯片。

到目前为止,我的代码是:

    library(officer)

    # reading template slides and adding slide in which I want my plot 

    doc <- read_pptx("U://30-Power & Water//25 Renewables//WORK//Config//Templates//Template.pptx")

    doc <- add_slide(doc, layout = "Title and Content",master = "Office Theme")
    doc <- ph_with_gg(doc, value = Sweihan ) #plot = ggplot

    # Reading the output slides and removing slides (it is just removing one slide so far)    

    output <- read_pptx("U://30-Power & Water//25 Renewables//WORK//Result//Result.pptx")

    output <-  remove_slide(output)

    print(output, target = "U://30-Power & Water//25 Renewables//WORK//Result//Result.pptx" ) %>% invisible()

    # tranfering results to output ppt file
    print(doc, target = "U://30-Power & Water//25 Renewables//WORK//Result//Result.pptx" ) %>% invisible()

我可以在使用officer包的代码中使用什么功能来一次删除所有幻灯片?

您的帮助将不胜感激!

问候

4

1 回答 1

6

index参数的文档remove_slide

用法: remove_slide(x, index = NULL)

index - 幻灯片索引,默认为当前幻灯片位置

因此,您可以一次删除一张幻灯片,如下所示:

for (n in rev(seq_len(length(output)))) {
    remove_slide(output, n)
}

#show number of slides
length(output)
于 2018-02-27T07:59:40.907 回答