PDF에서 전체 페이지 화면 전용 및 인쇄 전용 구현

PDF에서 전체 페이지 화면 전용 및 인쇄 전용 구현

나는 동일한 개체/페이지를 인쇄할 때 흑백 친화적인 형식으로 표시하면서 일부 항목(예: 제목 페이지)을 화면에 풀 컬러로 표시하는 데 관심이 있습니다.

에 따르면이 SO 질문, PDF 사양에는 화면 전용 개체 및 화면 및 인쇄 개체에 대한 기능이 내장되어 있습니다. PDF 1.5를 통해 화면에 풀 컬러 페이지만 표시하는 레이어를 흑백 페이지 위에 추가하는 방법도 있을 수 있습니다.선택적 콘텐츠 그룹특징.

비슷하게,이 질문를 통해 텍스트를 선택적으로 인쇄하는 방법을 보여줍니다 ocg-p. 하지만 이 패키지를 필요한 방식으로 어떻게 사용할 수 있는지는 확실하지 않습니다.

내 시나리오는 내 컬러 페이지 텍스트가 어두운 배경에 흰색이라는 사실로 인해 더욱 복잡해졌습니다.

MWE:

이 코드는 현재 컬러와 흑백 사이를 전환하는 방식을 나타냅니다. printincolor변경을 위해 bool 변수를 변경합니다 .

\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}

화면에는 컬러로 표시되지만 흑백으로 인쇄되는 방식으로 제목 페이지의 두 가지 버전을 어떻게 레이어링(또는 표시)할 수 있습니까?

답변1

내가 찾은 해결책은 (많은 감사와 함께)CFR그리고스티븐 B. 세글레츠내 질문에 대한 그들의 대답을 위해관련 질문)는 tikz컬러 레이어를 배치한 다음 인쇄할 때만 표시되는 흑백 버전으로 오버레이하는 데 사용됩니다.

그러나 솔루션은 선택적 콘텐츠 그룹(패키지 ocg-p)을 사용하므로 모든 PDF 뷰어에서 완벽하게 지원되지는 않습니다. 특히 Adobe Reader는 OCG를 완벽하게 지원하는 유일한 뷰어인 반면, 다른 많은 뷰어(Apple의 Preview, Skim 및 기타)는 흑백 버전으로 대체됩니다("인쇄 전용" 또는 "인쇄 전용"을 고려하지 않고 기본적으로 화면에 모든 레이어를 표시함). "초기 상태" 플래그). 소수의 뷰어(포플러 기반 뷰어, 즉 주로 Linux 사용자)는 화면과 인쇄에 색상 레이어만 표시함으로써 품질이 저하됩니다("초기 상태" 플래그를 존중하지만 인쇄용 단색 레이어를 활성화하지 않음). 따라서 결론은 귀하의 마일리지가 다를 수 있다는 것입니다.

그러나 그럼에도 불구하고 해결책은 다음과 같습니다.

\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}

Acrobat에서는 화면에 컬러로 표시됩니다.

색상

그리고 흑백으로 인쇄합니다.

단색화

사이드바에서 레이어 탭을 선택하면(위치는 보는 사람에 따라 다를 수 있습니다. 일부 이전 버전의 뷰어는 레이어를 전혀 지원하지 않습니다) 선택적으로 화면에서 흑백 보기로 전환할 수도 있습니다.

레이어탭

관련 정보