addImage(doc, filename, ...)
"addImage"(doc, filename, bookmark, par.properties = parProperties(text.align = "center", padding = 5), width, height, ...)
"addImage"(doc, filename, width, height, par.properties = parProperties(text.align = "center", padding = 5), ...)
"addImage"(doc, filename, offx, offy, width, height, ...)
"character"
value, complete filename
of the external imagebookmark
.parProperties
. It has no effect if doc is
a pptx
object.width
and height
can be defined with functions
png::readPNG
, jpeg::readJPEG
or bmp::read.bmp
.When document object is a pptx
, width and height are not mandatory.
By default, image is added to the next free 'content' shape of the current slide.
See slide.layouts.pptx
to view the slide layout.
If arguments offx and offy are missing, position is defined as
the position of the next available shape of the slide. This
dimensions can be defined in the layout of the PowerPoint template used to create
the pptx
object.
docx
, pptx
, bsdoc
# get rlogo
img.file <- file.path( Sys.getenv("R_HOME"), "doc", "html", "logo.jpg" )
# tests to use later
has_img <- file.exists( img.file )
has_jpeg <- requireNamespace("jpeg", quietly = TRUE)
has_wmf <- exists("win.metafile")
is_sunos <- tolower(Sys.info()[["sysname"]]) == "sunos"
# create a wmf file if possible
if( has_wmf ){
win.metafile(filename = "image.wmf", width = 5, height = 5 )
barplot( 1:6, col = 2:7)
dev.off()
}
# Image example for MS Word -------
doc <- docx()
if( has_img && has_jpeg ){
dims <- attr( jpeg::readJPEG(img.file), "dim" )
doc <- addImage(doc, img.file, width = dims[2]/72,
height = dims[1]/72)
}
if( has_wmf ){
doc <- addImage(doc, "image.wmf", width = 5, height = 5 )
}
writeDoc( doc, file = "ex_add_image.docx" )
# Image example for an HTML document -------
doc <- bsdoc()
if( has_img && has_jpeg ){
dims <- attr( jpeg::readJPEG(img.file), "dim" )
doc <- addImage(doc, img.file, width = dims[2]/72,
height = dims[1]/72)
}
writeDoc( doc, file = "ex_add_image/example.html" )
# Image example for MS PowerPoint -------
if( !is_sunos ){
doc <- pptx()
if( has_img && has_jpeg ){
doc <- addSlide( doc, "Title and Content" )
dims <- attr( jpeg::readJPEG(img.file), "dim" )
doc <- addImage(doc, img.file, width = dims[2]/72,
height = dims[1]/72)
}
if( has_wmf ){
doc <- addSlide( doc, "Title and Content" )
doc <- addImage(doc, "image.wmf", width = 5, height = 5 )
}
writeDoc( doc, file = "ex_add_image.pptx" )
}
Run the code above in your browser using DataLab