Add an external image into a document object

addImage(doc, filename, ...)

# S3 method for docx
addImage(doc, filename, bookmark,
  par.properties = parProperties(text.align = "center", padding = 5), width,
  height, ...)

# S3 method for pptx
addImage(doc, filename, offx, offy, width, height, ...)

Arguments

doc

document object

filename

"character" value, complete filename of the external image

...

further arguments passed to other methods

bookmark

a character value ; id of the Word bookmark to replace by the image. optional. if missing, image is added at the end of the document.

par.properties

paragraph formatting properties of the paragraph that contains images. An object of class parProperties. It has no effect if doc is a pptx object.

width

image width in inches

height

image height in inches

offx

optional, x position of the shape (top left position of the bounding box) in inches. See details.

offy

optional, y position of the shape (top left position of the bounding box) in inches See details.

Value

a document object

Details

Arguments 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.

See also

docx, pptx

Examples

# 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 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" ) }