0

使用reportRs pacakge,我正在尝试将几个名为test-0、test-1、test-2 等的图形(.png/.jpg)添加到pptx 文件中。这些图表是从一个名为例如 test 的 pdf 文件中提取的,使用 im.convert 函数。我可以单独添加它们,但不能在循环中自动执行图表、标题、幻灯片编号、日期等的代码,这样可以计算出有多少带有 ' 的图表test' 的名称在一个文件夹中,然后在新幻灯片和一个最终的 pptx 文件中将它们一一导入到 pptx 中。

示例代码:

library(animation)
im.convert("Test.pdf", output = "Test.png", extra.opts="-density 150")

library("ReporteRs")
doc <- pptx()
doc <- pptx(template = templateDir)
doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
doc <- addTitle(doc, paste("Test-0"))
doc <- addImage(doc, "Test-0.png")
:
:

:
:

doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
doc <- addTitle(doc, paste("Test-3"))`enter code here`
doc <- addImage(doc, "Test-3.png")
4

2 回答 2

2

您可以尝试使用 list.files 函数来查找文件夹中名称为 Test 的 png 文件的数量。示例代码:

list_of_files=list.files(path = "C:/output_folder", pattern = c("Test",".png"))
library("ReporteRs")
doc <- pptx()
doc <- pptx(template = templateDir)
for( i in 0:(length(list_of_files)-1))
{
  doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
  doc <- addTitle(doc, paste0("Test-",i))
  doc <- addImage(doc, paste0("Test-",i,".png"))
}  
于 2016-06-23T14:07:04.100 回答
0

你也可以试试 eoffice 包:

install.package("eoffice")
fig<-infigure("figes",savegg=T)
topptx(fig,file="test.pptx")
##or 
infigure("figs",showfig=T)
topptx(fig,file="test.pptx")
于 2020-06-18T03:27:06.323 回答