Create a pptx object

pptx(title, template,
  list.definition = getOption("ReporteRs-list-definition"))

# S3 method for pptx
dim(x)

# S3 method for pptx
print(x, ...)

Arguments

title

"character" value: title of the document (in the doc properties).

template

"character" value, it represents the filename of the pptx file used as a template.

list.definition

a list definition to specify how ordered and unordered lists have to be formated. See list.settings. Default to getOption("ReporteRs-list-definition").

x

Object of class pptx

...

further arguments, not used.

Value

an object of class pptx.

Details

To send R output in a pptx document, a slide (see addSlide.pptx have to be added to the object first (because output is beeing written in slides).

Several methods can used to send R output into an object of class pptx.

Once object has content, user can write the pptx into a ".pptx" file, see writeDoc. dim returns slide width and height, position and dimension of the next available shape in the current slide. print print informations about an object of class pptx.

Note

Power Point 2007-2013 (*.pptx) file formats are the only supported files.

Document are manipulated in-memory ; a pptx's document is not written to the disk unless the writeDoc method has been called on the object.

References

Wikipedia: Office Open XMLhttp://en.wikipedia.org/wiki/Office_Open_XML

See also

docx

Examples

# set default font size to 10 options( "ReporteRs-fontsize" = 11 ) # Word document to write pptx.file = "presentation_example.pptx" # Create a new document doc = pptx( title = "title" ) # display layouts names slide.layouts( doc )
#> [1] "Blank" "Title Only" #> [3] "Title and Content" "Section Header" #> [5] "Title and Vertical Text" "Comparison" #> [7] "Content with Caption" "Title Slide" #> [9] "Two Content" "Vertical Title and Text"
# add a slide with layout "Title Slide" doc = addSlide( doc, slide.layout = "Title Slide" ) #set the main title doc = addTitle( doc, "Presentation title" ) #set the sub-title doc = addSubtitle( doc , "This document is generated with ReporteRs.") ################ TEXT DEMO ################ # add a slide with layout "Title and Content" then add content doc = addSlide( doc, slide.layout = "Two Content" ) # add a title doc = addTitle( doc, "Text demo" ) sometext = c( "Lorem ipsum dolor sit amet, consectetur adipiscing elit." , "In sit amet ipsum tellus. Vivamus dignissim sit amet auctor." , "Quisque dictum tristique ligula." ) # add simple text doc = addParagraph( doc, value = sometext ) # Add "My tailor is rich" and "Cats and Dogs" # format some of the pieces of text pot1 = pot("My tailor" , textProperties(color="red" ) ) + " is " + pot("rich" , textProperties(font.weight="bold") ) pot2 = pot("Cats" , textProperties(color="red" ) ) + " and " + pot("Dogs" , textProperties(color="blue" ) ) doc = addParagraph(doc, set_of_paragraphs( pot1, pot2 ) ) ################ PLOT DEMO ################ if( requireNamespace("ggplot2", quietly = TRUE) ){ doc = addSlide( doc, slide.layout = "Title and Content" ) doc = addTitle( doc, "Plot examples" ) myplot = ggplot2::qplot(Sepal.Length, Petal.Length , data = iris, color = Species , size = Petal.Width, alpha = I(0.7) ) # Add titles and then 'myplot' doc = addPlot( doc, function( ) print( myplot ) ) } ################ FLEXTABLE DEMO ################ doc = addSlide( doc, slide.layout = "Title and Content" ) doc = addTitle( doc, "FlexTable example" ) # Create a FlexTable with data.frame mtcars, display rownames # use different formatting properties for header and body MyFTable = FlexTable( data = mtcars, add.rownames = TRUE, header.cell.props = cellProperties( background.color = "#00557F" ), header.text.props = textProperties( color = "white", font.size = 11, font.weight = "bold" ), body.text.props = textProperties( font.size = 10 ) ) # zebra stripes - alternate colored backgrounds on table rows MyFTable = setZebraStyle( MyFTable, odd = "#E1EEf4", even = "white" ) # applies a border grid on table MyFTable = setFlexTableBorders(MyFTable, inner.vertical = borderProperties( color="#0070A8", style="solid" ), inner.horizontal = borderNone(), outer.vertical = borderProperties( color = "#006699", style = "solid", width = 2 ), outer.horizontal = borderProperties( color = "#006699", style = "solid", width = 2 ) ) # add MyFTable into document doc = addFlexTable( doc, MyFTable ) # write the doc writeDoc( doc, file = pptx.file )
# get pptx page dimensions ------ doc = pptx( title = "title" ) doc = addSlide( doc, "Title and Content" ) dim(doc)
#> $position #> left top #> 0.91667 1.99653 #> #> $size #> width height #> 11.50000 4.75868 #> #> $slide.dim #> width height #> 13.33333 7.50000 #>