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, ...)
title |
|
---|---|
template |
|
list.definition | a list definition to specify how ordered and unordered
lists have to be formated. See |
x | Object of class |
... | further arguments, not used. |
an object of class pptx
.
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
.
addTitle.pptx
add titles
addParagraph.pptx
add text
addPlot.pptx
add plots
addDate.pptx
add a date (most often in the bottom left area of the slide)
addFooter.pptx
add a comment in the footer (most often in the bottom center area of the slide)
addPageNumber.pptx
add a page number (most often in the bottom right area of the slide)
addImage.pptx
add external images
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
.
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.
Wikipedia: Office Open XMLhttp://en.wikipedia.org/wiki/Office_Open_XML
# 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 #>