[R] adding "Page X of XX" to PDFs

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sat Dec 2 17:45:36 CET 2023

One of the most fundamental characteristics of R programming is the use of data frames of column vectors, and one of the very first challenges I had as a then-Perl-programmer was coming to grips with the fact that unknown-length CSV files would be read completely into memory as rows and once the entire CSV was in memory it would be transposed into column vectors. I was resistant to this philosophy at first, but the advantages in computation speed and simplicity eventually won me over.

I would say that if you want to know how many pages you are going to produce with R, then you are going to have to count them before you create them. Building a dataframe that describes (in terms of parameters to be passed to a page-generating function in each row) what you are going to put on each page before you actually print it can make this pre-counting problem trivial, and the code that does the printing is likely to be more modular and testable as well.

On December 1, 2023 12:53:25 PM PST, Dennis Fisher <fisher using plessthan.com> wrote:
>R 4.3.1
>I often create multipage PDFs [pdf()] in which the text "Page X" appears in the margin.  These PDFs are created automatically using a massive R script.
>One of my clients requested that I change this to:
>	Page X of XX 
>where XX is the total number of pages.  
>I don't know the number of expected pages so I can't think of any clever way to do this.  I suppose that I could create the PDF, find out the number of pages, then have a second pass in which the R script was fed the number of pages.  However, there is one disadvantage to this -- the original PDF contains a timestamp on each page -- the new version would have a different timestamp -- so I would prefer to not use this approach.
>Has anyone thought of some terribly clever way to solve this problem?
>Dennis Fisher MD
>P < (The "P Less Than" Company)
>Phone / Fax: 1-866-PLessThan (1-866-753-7784)
>R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

Sent from my phone. Please excuse my brevity.

More information about the R-help mailing list