
Estoy interesado en mostrar algunas cosas (por ejemplo, la página de título) a todo color en la pantalla, mientras que el mismo objeto/página se muestra en un formato amigable en blanco y negro cuando se imprime.
De acuerdo aesta pregunta SO, hay una funcionalidad incorporada en la especificación PDF para objetos de solo pantalla y objetos de pantalla e impresión. También puede haber una manera de agregar una capa encima de la página en blanco y negro que solo muestre la página a todo color en la pantalla a través del PDF 1.5.Grupos de contenido opcionalescaracterística.
Similarmente,esta preguntademuestra la impresión selectiva de texto mediante ocg-p
. Pero no está claro cómo puedo utilizar este paquete de la manera que necesito.
Mi situación se ve agravada por el hecho de que el texto de mi página en color es blanco sobre un fondo oscuro.
MWE:
Este código presenta la forma en que actualmente estoy cambiando entre color y blanco y negro. Cambio la printincolor
variable bool para realizar el cambio.
\documentclass[11pt]{article}
\usepackage[demo]{graphicx}
\usepackage{etoolbox}
\providebool{printincolor}
% Will set color title page and section headings
\setbool{printincolor}{false}
% Setup color if needed
\ifbool{printincolor}{%
\usepackage[pagecolor=none]{pagecolor}%
\definecolor{MyBlue}{HTML}{1b3667}%
\usepackage{afterpage}}{}
\begin{document}
% Begin Title Page
{
\thispagestyle{empty}
\ifbool{printincolor}{%
\pagecolor{MyBlue}%
\afterpage{\nopagecolor}}{}
\begin{center}
{\ifbool{printincolor}{\color{white}\sffamily}{\sffamily}% Set text color white or leave [default] black
\ifbool{printincolor}{\includegraphics[width=1.5in]{logo-gold}}{\includegraphics{logo-blue}}% put logo gold or blue
\\ \vskip 1in
\begin{huge}
\textbf{Title}
\vskip 0.1ex\rule{0.5\textwidth}{0.8pt}\vskip 1ex
Subtitle
\\
\end{huge}
\vfill\vfill
\begin{large}
Authors:\\
John Doe and Jane Doe\\
\end{large}
}
\end{center}
}
\end{document}
¿Cómo puedo superponer (o mostrar) dos versiones de la página de título de manera que el color se muestre en la pantalla, pero se imprima en blanco y negro?
Respuesta1
La solución a la que he llegado (con muchas gracias acfrySteven B. Segletespor sus respuestas a mipregunta relacionada) utiliza tikz
para establecer una capa de color y luego superponerla con una versión monocromática que solo se muestra al imprimir.
Sin embargo, dado que la solución utiliza grupos de contenido opcionales (paquete ocg-p
), no es totalmente compatible con todos los visores de PDF. En concreto, Adobe Reader es el único visor que soporta totalmente OCG, mientras que muchos otros (Apple Preview, Skim y otros) recurrirán a la versión monocromática (simplemente muestran todas las capas en pantalla de forma predeterminada, sin respetar la opción "sólo impresión" o banderas de "estado inicial"). Algunos visores (aquellos basados en poppler, es decir, principalmente aquellos en Linux) se degradarán al mostrar solo la capa de color en la pantalla e imprimir (respetando el indicador de "estado inicial", pero sin habilitar la capa monocromática para imprimir). Entonces, la conclusión es que su kilometraje puede variar.
Pero aquí está la solución:
\documentclass[11pt]{article}
\usepackage[demo]{graphicx}
\usepackage{tikz} % Needed to draw titlepage elements
\usepackage{ocg-p} % For optional content groups
% Things to typeset on titlepage (since they are repeated twice
\newcommand{\titlematter}{%
\node [font={\huge\bfseries\sffamily}] at (.5\linewidth,-7) {Title};
\node [font={\huge\sffamily}] at (.5\linewidth,-10.625) {Subtitle};
\node [font={\large\sffamily}] at (.5\linewidth,-17) {Authors:\\ John Doe and Jane Doe};
\node (p) at (.25\linewidth,-9.00) {}; % nodes for line to connect later
\node (q) at (.75\linewidth,-9.00) {};
}
% Setup color if needed
\usepackage[pagecolor=none]{pagecolor}%
\definecolor{MyBlue}{HTML}{1b3667}%
\usepackage{afterpage}
\begin{document}
% Begin Title Page
{\thispagestyle{empty}%
\noindent
%% Color Version
\begin{tikzpicture}[overlay, remember picture, text=white, align=center]
\fill [fill=MyBlue] (current page.south west) rectangle (\paperwidth,\paperheight);
\node at (.5\linewidth,-2.125) {\includegraphics[width=1.5in]{logo-color}};
\titlematter
\draw [color=white](p) -- (q);
\end{tikzpicture}
%% Monochrome Version
\begin{ocg}[printocg=always]{MonochromeVersion}{monochrome}{0}
\begin{tikzpicture}[overlay, remember picture, text=black, align=center]
\fill [fill=white] (current page.south west) rectangle (\paperwidth,\paperheight);
\node at (.5\linewidth,-2.125) {\includegraphics[width=1.5in]{logo-monochrome}};
\titlematter
\draw (p) -- (q);
\end{tikzpicture}
\end{ocg}
%% Reset page color
\afterpage{\nopagecolor}%
\newpage
}
\end{document}
En Acrobat, esto se muestra en la pantalla en color:
E imprimirá en monocromo:
Al elegir la pestaña de capas en la barra lateral (la ubicación puede variar según el visor; algunas versiones anteriores de visores no admiten capas en absoluto), también puede cambiar opcionalmente a la vista monocromática en la pantalla: