pdf                package:grDevices                R Documentation

_P_D_F _G_r_a_p_h_i_c_s _D_e_v_i_c_e

_D_e_s_c_r_i_p_t_i_o_n:

     'pdf' starts the graphics device driver for producing PDF
     graphics.

_U_s_a_g_e:

     pdf(file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"),
         width = 6, height = 6, onefile = TRUE, family = "Helvetica",
         title = "R Graphics Output", fonts = NULL, version = "1.1",
         paper, encoding, bg, fg, pointsize)

_A_r_g_u_m_e_n_t_s:

    file: a character string giving the name of the file. For use with
          'onefile=FALSE' give a C integer format such as
          '"Rplot%03d.pdf"' (the default in that case). (See
          'postscript' for further details.) 

width, height: the width and height of the graphics region in inches.

 onefile: logical: if true (the default) allow multiple figures in one
          file.  If false, generate a file name containing the page
          number.

  family: the font family to be used, one of '"AvantGarde"',
          '"Bookman"', '"Courier"', '"Helvetica"',
          '"Helvetica-Narrow"', '"NewCenturySchoolbook"', '"Palatino"'
          or '"Times"'.  *Note* some of the other specifications
          allowed for 'postscript' may work.

   title: title string to embed in the file.

   paper: the size of paper in the printer.  The choices are '"a4"',
          '"letter"', '"legal"' and '"executive"' (and these can be
          capitalized). The default is '"special"', which means that
          the 'width' and 'height' specify the paper size.  A further
          choice is '"default"'; if this is selected, the papersize is
          taken from the option '"papersize"' if that is set and to
          '"a4"' if it is unset or empty.

encoding: the name of an encoding file.  Defaults to '"ISOLatin1.enc"'
          in the 'afm' directory of the 'grDevices' package, which is
          used if the path does not contain a path separator.  An
          extension '".enc"' can be omitted. In a UTF-8 locale only
          '"ISOLatin1.enc"' is allowed. 

pointsize: the default point size to be used.

      bg: the default background color to be used.

      fg: the default foreground color to be used.

   fonts: a character vector specifying device-independent R graphics
          font family names for fonts which will be included in the PDF
          file.

 version: a string describing the PDF version that will be used to
          produce output.

_D_e_t_a_i_l_s:

     'pdf()' opens the file 'file' and the PDF commands needed to plot
     any graphics requested are sent to that file.

     The 'file' argument is interpreted as a C integer format as used
     by 'sprintf', with integer argument the page number. The default
     gives files 'Rplot001.pdf', ..., 'Rplot999.pdf', 'Rplot1000.pdf',
     ....

     The 'family' argument can be used to specify a PDF-specific font
     family as the initial/default font for the device.

     If a device-independent R graphics font family is specified (e.g.,
     via 'par(family=)' in the graphics package), the PDF device makes
     use of the PostScript font mappings to convert the R graphics font
     family to a PDF-specific font family description.  (See the
     documentation for 'postscriptFonts'.)

     R does _not_ embed fonts in the PDF file though, so it is only
     possible straightforward to use mappings to the font families that
     are assumed to be available in any PDF viewer: '"Times"'
     (equivalently '"serif"'), '"Helvetica"' (equivalently '"sans"'),
     '"Courier"' (equivalently '"mono"') and '"Symbol"' (equivalently
     '"symbol"').  Other families may be specified, but it is the
     user's responsibility to ensure that these fonts are available on
     the system and third-party software, e.g., ghostscript, may be
     required to embed the fonts so that the PDF can be included in
     other documents (e.g., LaTeX).  The URW-based families described
     for 'postscript'  can be used with viewers such as GSView which
     are based on URW fonts.

     See 'postscript' for details of encodings, as the internal code is
     shared between the drivers.  The native PDF encoding is given in
     file 'PDFDoc.enc'.

     'pdf' writes uncompressed PDF.  It is primarily intended for
     producing PDF graphics for inclusion in other documents, and
     PDF-includers such as 'pdftex' are usually able to handle
     compression.

     At present the PDF is fairly simple, with each page being
     represented as a single stream.  The R graphics model does not
     distinguish graphics objects at the level of the driver interface.

     The 'version' argument modifies the sort of PDF code that gets
     produced.  At the moment this only concerns the production of
     transparent output.  The version must be greater than 1.4 for
     transparent output to be produced.  Specifying a lower version
     number may be useful if you want to produce PDF output that can be
     viewed on older PDF viewers.

     Line widths as controlled by 'par(lwd=)' are in multiples of
     1/96inch.  Multiples less than 1 are allowed.  'pch="."' with 'cex
     = 1' corresponds to a square of side 1/72 inch.

_N_o_t_e:

     Acrobat Reader does not use the fonts specified but rather
     emulates them from multiple-master fonts.  This can be seen in
     imprecise centering of characters, for example the multiply and
     divide signs in Helvetica.

     Acrobat Reader 7.x can be extended by support for Central European
     fonts (but not on UNIX), and this will be needed for full use of
     encodings other than Latin-1. See <URL:
     http://www.adobe.com/products/acrobat/acrrasianfontpack.html>.

_S_e_e _A_l_s_o:

     'postscriptFonts', 'Devices', 'postscript'

_E_x_a_m_p_l_e_s:

     ## Not run: 
     ## Test function for encodings
     TestChars <- function(encoding="ISOLatin1", ...)
     {
         pdf(encoding=encoding, ...)
         par(pty="s")
         plot(c(-1,16), c(-1,16), type="n", xlab="", ylab="", xaxs="i", yaxs="i")
         title(paste("Centred chars in encoding", encoding))
         grid(17, 17, lty=1)
         for(i in c(32:255)) {
             x <- i %% 16
             y <- i %/% 16
             points(x, y, pch=i)
         }
         dev.off()
     }
     ## there will be many warnings.
     TestChars("ISOLatin2")
     ## this does not view properly in older viewers.
     ## Lots of characters are not centred, as the Adobe afms do not contain them.
     TestChars("ISOLatin2", family="URWHelvetica")
     ## works well for viewing in gs-based viewers, and often in xpdf.
     ## End(Not run)

