![OCG/레이어를 사용하여 PDF를 반전하는 방법은 무엇입니까?](https://rvso.com/image/281467/OCG%2F%EB%A0%88%EC%9D%B4%EC%96%B4%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20PDF%EB%A5%BC%20%EB%B0%98%EC%A0%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
화면/태블릿에서 볼 수 있도록 설계되었으며 검정색 배경에 흰색 텍스트를 사용하는 PDF를 만들고 있습니다. 일부 독자는 인쇄를 원할 수 있으므로 두 번째 PDF를 만드는 것을 피하고 싶기 때문에 인쇄 보기를 PDF에 레이어로 포함하고 싶습니다.
(xe)latex를 사용하여 중간에 배경 이미지를 사용하여 동일한 텍스트를 서로 두 번 렌더링하여 상단 텍스트 레이어와 이미지를 하나의 PDF 레이어로 사용하여 비활성화할 수 있도록 하려면 어떻게 해야 합니까?
따라서 PDF에서는 다음과 같은 레이어 순서가 됩니다(아래에서 위로 읽으세요).
WHITE TEXT \
> OCG Layer #1
BLACK BACKGROUND /
BLACK TEXT \
> regular PDF
WHITE BACKGROUND /
이제 리더가 PDF 리더에서 레이어 #1을 숨기면 그 아래의 프린터 친화적인 버전이 표시됩니다.
답변1
이 예에서는 쉽게 조판할 수 있는 페이지 상자의 두 가지 다른 버전을 생성하여 별도의 OCG 레이어에 배치합니다.
두 레이어 모두 라디오 버튼 그룹 "역방향 비디오"에 추가되어 한 번에 하나만 활성화할 수 있습니다.
또한 사용자가 실수로 귀중한 잉크를 낭비하는 것을 방지하기 위해 검정색 바탕에 흰색 버전을 인쇄하는 것을 금지합니다. (AcroRead 및 Chrome/Chromium 내장 PDF 뷰어만이 이를 보증합니다.)
이 예에는 TeXLive-2020과 같은 상당히 새로운 최신 TeX 설치가 필요합니다.
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{kantlipsum}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ocgx2} %pdf layers
\usepackage{color}
\makeatletter
%make a copy from each ready page and repeat it with white
%textcolour on black background, put both versions on different layers
\AddToHook{shipout/before}{%
\setbox\ShipoutBox=\hbox{%
%normal & print layer
\begin{ocg}[
radiobtngrp=reverse video,
printocg=always,
]{normal and print}{normal}{off}%
\makebox[0pt][l]{%
\raisebox{1in}{\copy\ShipoutBox}%
}%
\end{ocg}%
%layer for tablets & screens
\begin{ocg}[
radiobtngrp=reverse video,
printocg=never,
]{for screens/tablets}{tablets}{on}%
\makebox[0pt][l]{%
\hspace{-1in}%
\raisebox{0pt}[\dimexpr\height-1in\relax]{%
\rule{\paperwidth}{\paperheight}}}%
\raisebox{1in}{{\color{white}\box\ShipoutBox}}%
\end{ocg}%
}%
}
\def\redefFooterAndHeader{%
%proof of concept: --> repeat the following with
%\@evenfoot, \@oddhead, \@evenhead
\let\@oddfootOrig\@oddfoot%
\gdef\@oddfoot{%
\makebox[\textwidth][c]{%
\begin{ocg}[
radiobtngrp=reverse video,
printocg=always,
]{normal and print}{normal}{off}%
\makebox[0pt][c]{\@oddfootOrig}%
\end{ocg}%
\begin{ocg}[
radiobtngrp=reverse video,
printocg=never,
]{for screens/tablets}{tablets}{on}%
\makebox[0pt][c]{{\color{white}\@oddfootOrig}}%
\end{ocg}%
}%
}%
}
\let\pagestyleOrig\pagestyle
\def\pagestyle#1{\pagestyleOrig{#1}\redefFooterAndHeader}%
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}\pagestyle{plain}
\kant[1-6]
\end{document}