PowerPoint Interface {DescTools} | R Documentation |
Add Slides, Insert Texts and Plots to PowerPoint
Description
A couple of functions to get R-stuff into MS-Powerpoint.
GetNewPP()
starts a new instance of PowerPoint and returns its handle. A new presentation with one empty slide will be created thereby. The handle is needed for addressing the presentation afterwards.
GetCurrPP()
will look for a running PowerPoint instance and return its handle. NULL
is returned if nothing's found.
PpAddSlide()
inserts a new slide into the active
presentation.
PpPlot()
inserts the active plot into PowerPoint. The image is transferred by saving the picture to a file in R and
inserting the file in PowerPoint. The format of the plot can be selected, as well as crop options and the
size factor for inserting.
PpText()
inserts a new textbox with given text and box properties.
Usage
GetNewPP(visible = TRUE, template = "Normal")
GetCurrPP()
PpAddSlide(pos = NULL, pp = DescToolsOptions("lastPP"))
PpPlot(type = "png", crop = c(0, 0, 0, 0), picscale = 100, x = 1, y = 1,
height = NA, width = NA, res=200, dfact=1.6, pp = DescToolsOptions("lastPP"))
PpText(txt, x = 1, y = 1, height = 50, width = 100, fontname = "Calibri", fontsize = 18,
bold = FALSE, italic = FALSE, col = "black", bg = "white",
hasFrame = TRUE, pp = DescToolsOptions("lastPP"))
Arguments
visible |
logical, should PowerPoint made visible by |
template |
the name of the template to be used for the new presentation. |
pos |
position of the new inserted slide within the presentation. |
type |
the format for the picture file, default is |
crop |
crop options for the picture, defined by a 4-elements-vector. The first element is the bottom side, the second the left and so on. |
picscale |
scale factor of the picture in percent, default ist 100. |
x , y |
left/upper xy-coordinate for the plot or for the textbox. |
height |
height in cm, this overrides the picscale if both are given. |
width |
width in cm, this overrides the picscale if both are given. |
res |
resolution for the png file, defaults to 200. |
dfact |
the size factor for the graphic. |
txt |
text to be placed in the textbox |
fontname |
used font for textbox |
fontsize |
used fontsize for textbox |
bold |
logic. Text is set bold if this is set to |
italic |
logic. Text is set italic if this is to |
col |
font color, defaults to |
bg |
background color for textboxdefaults to |
hasFrame |
logical. Defines if a textbox is to be framed. Default is TRUE. |
pp |
the pointer to a PowerPoint instance, can be a new one, created by |
Details
See PowerPoint-objectmodel for further informations.
Value
The functions return the pointer to the created object.
Author(s)
Andri Signorell <andri@signorell.net>
See Also
Examples
## Not run: # Windows-specific example
# let's have some graphic
plot(1,type="n", axes=FALSE, xlab="", ylab="", xlim=c(0,1), ylim=c(0,1))
rect(0,0,1,1,col="black")
segments(x0=0.5, y0=seq(0.632,0.67, length.out=100),
y1=seq(0.5,0.6, length.out=100), x1=1, col=rev(rainbow(100)))
polygon(x=c(0.35,0.65,0.5), y=c(0.5,0.5,0.75), border="white",
col="black", lwd=2)
segments(x0=0,y0=0.52, x1=0.43, y1=0.64, col="white", lwd=2)
x1 <- seq(0.549,0.578, length.out=50)
segments(x0=0.43, y0=0.64, x1=x1, y1=-tan(pi/3)* x1 + tan(pi/3) * 0.93,
col=rgb(1,1,1,0.35))
# get a handle to a new PowerPoint instance
pp <- GetNewPP()
# insert plot with a specified height
PpPlot(pp=pp, x=150, y=150, height=10, width=10)
PpText("Remember?\n", fontname="Arial", x=200, y=70, height=30, fontsize=14,
bold=TRUE, pp=pp, bg="lemonchiffon", hasFrame=TRUE)
PpAddSlide(pp=pp)
# crop the picture
pic <- PpPlot(pp=pp, x=1, y=200, height=10, width=10, crop=c(9,9,0,0))
pic
# some more automatic procedure
pp <- GetNewPP()
PpText("Hello to my presentation", x=100, y=100, fontsize=32, bold=TRUE,
width=300, hasFrame=FALSE, col="blue", pp=pp)
for(i in 1:4){
barplot(1:4, col=i)
PpAddSlide(pp=pp)
PpPlot(height=15, width=21, x=50, y=50, pp=pp)
PpText(gettextf("This is my barplot nr %s", i), x=100, y=10, width=300, pp=pp)
}
## End(Not run)