See the FAQ, 7.24.
you need to
print(xyplot(x~y))
> Hello,
>
> I have the following example.
>
> testpdf <- function(x,y){
> pdf()
> #plot(x,y)
> xyplot(x~y)
> dev.off()
> }
>
>
> source("testpdf.R")
> x=1:1000
> testpdf(x,x)
>
> with "xyplot", the output is a file that can not be
> read because it has no pages. With "plot" it works
> fine. If I do it manually (from the GUI menu), it
> works even for "xyplot". How can I save it
> automatically, without the GUI?
>
> I use R 1.8.0 on WinXP.
>
> Thank you,
> Adrian Dragulescu
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>