n-upping 시 pdflscape 가로 페이지를 자동 회전하는 방법

n-upping 시 pdflscape 가로 페이지를 자동 회전하는 방법

pdflscapeA5 세로 문서의 가로 페이지에 사용하고 있습니다 . 그런 다음 다음 명령줄을 사용하여 A4 용지에 인쇄할 PDF를 준비합니다.

pdftk blank.pdf document.pdf output padded_document.pdf verbose && pdfnup --paper a4paper padded_document.pdf

그러나 결과에는 padded_document-nup.pdf모든 가로 페이지가 회전되어 A5가 아닌 A6 형식에 해당하는 가로 페이지가 여전히 남아 있습니다.

의도한 크기로 표시되도록 자동으로 회전하는 방법이 있습니까? pdflscape대체 할 수 있다는 것을 알고 있지만 lscape계속 잊어버리고 있습니다. 인쇄할 때마다 문서를 변경하지 않는 솔루션이 있으면 좋을 것 같습니다. 따라서 PDF에 있는 영리한 트릭이나 명령줄에 넣을 수 있는 것 중 하나를 선택합니다.

\documentclass[a5paper]{article}
\usepackage{mwe}
\usepackage{pdflscape}
\begin{document}
\blindtext\blindtext
\begin{landscape}
\thispagestyle{empty}
\begin{figure}
\includegraphics[width=\linewidth]{example-image-a}
\caption{Landscape figure}
\end{figure}
\end{landscape}
\blindtext\blindtext

\blindtext\blindtext
\end{document}

페이지 테두리가 있는 4장(테두리가 없는 원하는 2장은 아니지만 아이디어는 얻을 수 있음)은 다음과 같습니다.

세로 3개, 가로 1개

그게 뭐야?~해야 한다다음과 같습니다.

4 초상화lscape나는 대신에 를 사용하여 이 마지막 것을 위조했습니다 pdflscape.

답변1

pdfnup을 사용하고 pdfjam이는 차례로 LaTeX 패키지를 사용합니다 pdfpages. 후자는 옵션을 알고 있습니다 rotateoversize.선적 서류 비치:

이 옵션을 사용하면 크기가 큰 페이지를 회전할 수 있습니다. 예를 들어 가로 방향의 페이지는 세로 페이지에 비해 상대적으로 크기가 큽니다. 페이지를 회전하지 않으면 세로 페이지의 윤곽선 내에서 일치하지 않기 때문입니다. 기본적으로 대형 페이지는 크기가 조정되고 회전되지 않습니다. 또는 true( false또는 값이 없음, 이는 와 동일 true)입니다. (기본: rotateoversize=false)

pdfnup이 옵션은 또는 명령줄에서 지정할 수 있습니다 pdfjam.

$ pdfnup --paper a4paper --rotateoversize true test.pdf

페이지 1 2 쪽

답변2

이런 걸 원하시나요?

A4에 2xA5

\documentclass[a5paper]{article}
\usepackage{mwe}
\usepackage{pdflscape}
\usepackage{pgfpages}
\pgfpagesdeclarelayout{my 2up}
{
  \def\pgfpageoptionborder{0pt}
}
{
  \pgfpagesphysicalpageoptions
  {%
    logical pages=2,%
    physical height=\paperwidth,%
    physical width=\paperheight,%
  }
  \pgfpageslogicalpageoptions{1}
  {%
    resized width=.5\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{2}
  {%
    resized width=.5\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
}
\pgfpagesuselayout{my 2up}[a4paper]
\begin{document}
  \blindtext\blindtext
  \begin{landscape}
    \thispagestyle{empty}
    \begin{figure}
      \includegraphics[width=\linewidth]{example-image-a}
      \caption{Landscape figure}
    \end{figure}
  \end{landscape}
  \blindtext\blindtext

  \blindtext\blindtext
\end{document}

답변3

나는 이것이 다른 것보다 더 유용할 것이라고 믿습니다. A4 또는 A5(입력 파일에 대해 하나의 고유한 크기), 가로 또는 세로(입력 파일에 대해 하나의 방향)를 페이지당 두 개의 A5 병합 및 가로 방향 페이지로 구성된 A4 형식 파일로 변환할 수 있습니다.

#!/bin/bash

IFS='
'

FILE_EXT=$(echo "$1" | cut -f2 -d '.')

# Vérifier si fichier pdf
if [ "$FILE_EXT" != pdf ]
then
echo "Attention, le fichier $1 n'est pas un fichier .pdf"
exit
fi

FILE_NAME=$(echo "$1" | cut -f1 -d '.')

# Détecter la présence du fichier en .pdf
if [ ! -e "./$FILE_NAME.pdf" ]
then
echo "Attention, le fichier $FILE_NAME.pdf n'existe pas"
exit
fi

X=$(pdfinfo $FILE_NAME.pdf | grep 'Page rot:' | cut -d":" -f2)

if [ $X -eq 0 ] || [ $X -eq 180 ] ;
    then echo "portrait"
    pdftk $FILE_NAME.pdf cat 1-endright output sortie-0.pdf
    else echo "landscape"
    cp $FILE_NAME.pdf sortie-0.pdf
fi

echo '\documentclass[a4paper]{article}' > sortie-1.tex
echo '\usepackage{pdfpages}' >> sortie-1.tex
echo '\begin{document}' >> sortie-1.tex
echo "\includepdf[pages=-,nup=1x2]{sortie-0.pdf}" >> sortie-1.tex
echo '\end{document}' >> sortie-1.tex

pdflatex sortie-1.tex 

mv sortie-1.pdf "${FILE_NAME}-Sortie.pdf"
rm sortie-*

답변4

lscape인쇄용 으로 작동한다면 인쇄 버전에 이러한 스크립트를 사용하지 않는 이유는 무엇입니까?

#!/bin/bash

IFS='
'

cat $1 | sed "s/pdflscape/lscape/g" > Sortie-0.tex
pdflatex Sortie-0.tex
pdfnup --paper a4paper Sortie-0.pdf -o Sortie-1.pdf
rm Sortie-0*

관련 정보