How to print in white text over black background
\documentclass[a4, 12pt]{report}
\usepackage{xcolor}
\usepackage{pagecolor}
\usepackage{lipsum}
\pagecolor{black}
\color{white}
\begin{document}
\lipsum
\lipsum
\lipsum
\end{document}
This gives you as global pagecolor black and as global textcolor white. I think that this is what you're looking for. For further information, you can also have a look on the pagecolor package
Let's assume you have the following 259 page document, littered with text and images:
\documentclass{article}
\usepackage{graphicx,lipsum}
\newcounter{lipsumcntr}
\begin{document}
\loop\unless\ifnum\value{lipsumcntr}=50
\stepcounter{lipsumcntr}
\lipsum[1-\thelipsumcntr] {\centering \includegraphics[width=.8\linewidth]{example-image}\par}
\repeat
\end{document}
It is not possible to retro-actively change a PDF from within (La)TeX. It is a processed, binary format. (La)TeX can only display it as-is without much change. As such, you might be encouraged to follow a conversion process that I list below. Everything can be done in bulk.
Here are the steps you can follow:
Burst the PDF into single-page PDFs using The PDF Toolkit:
pdftk myfile.pdf burst
This creates a bunch of
pg_XXXX.pdf
files, one for each page whereXXXX
has a leading0
. The above document therefore produces the filespg_0001.pdf
throughpg_0259.pdf
.Use ImageMagick to bulk-
convert
and-negate
each page:mogrify -format png -negate -sharpen 0x0.1 -density 300 -quality 100 pg_0*.pdf
I've tried to keep a high-quality output. Depending on the image quality chosen to convert the burst pages to PNG, this may take quite a while.
Create a new PDF containing the
-negate
d images:\documentclass{article} \usepackage{graphicx,eso-pic,pagecolor} \newcounter{pgcntr} \pagecolor{black}% Black page background \begin{document} \pagestyle{empty}% No page header/footer \loop\unless\ifnum\value{pgcntr}=259 \clearpage \mbox{}% Just put something on the page \stepcounter{pgcntr} \AddToShipoutPictureFG*{ \AtPageLowerLeft{ \edef\pgnum{\ifnum\value{pgcntr}<100 0\fi\ifnum\value{pgcntr}<10 0\fi\thepgcntr}% Prepend with 0s \includegraphics[width=\pdfpagewidth]{pg_0\pgnum.png}% Insert image } } \repeat \end{document}
The above loop inserts an
\mbox{}
on every blank page (no header/footer) and places a subsequent page - a PNG file - in theF
oreG
round so that it fits exactly within the page geometry (with the aid ofeso-pic
).We create a
\pgnum
macro to hold the page number about to be included. This macros prepends the actual page number with sufficient0
s in order to retrieve the required filename.Depending on the image quality chosen to convert the burst pages to PNG, this may take quite a while.
Clean-up:
del pg_0*.pdf del pg_0*.png
Print