PDF 페이지를 중간에 두 개의 새 페이지로 나누는 좋은 방법을 아는 사람이 있습니까?
분명히하기 위해, 나는 이미 존재하는 페이지를 pdf에서 분리하려고 하지 않습니다 . 기존 단일 페이지에서 두 개의 새 페이지를 만들려고합니다.
PDF 페이지를 중간에 두 개의 새 페이지로 나누는 좋은 방법을 아는 사람이 있습니까?
분명히하기 위해, 나는 이미 존재하는 페이지를 pdf에서 분리하려고 하지 않습니다 . 기존 단일 페이지에서 두 개의 새 페이지를 만들려고합니다.
답변:
BRISS를 사용해보십시오 .
GUI를 사용하여 영역을 정의하여 각 페이지를 원하는 수의 서브 페이지로 분할 할 수 있습니다. 유사한 페이지를 모두 그룹으로 그룹화하므로 해당 그룹의 지역을 한 번 정의 할 수 있습니다.
크로스 플랫폼, 무료 및 오픈 소스입니다.
Ghostscript의 도움으로이 문제를 해결할 수 있습니다. pdftk
혼자서는 (내가 아는 한) 그렇게 할 수 없습니다. 이 작업을 수동으로 수행하는 명령 줄 단계를 알려 드리겠습니다. 페이지 크기 및 페이지 번호에 대한 다른 매개 변수를 사용하여이를 절차로 쉽게 스크립팅 할 수 있습니다. 그러나 당신은 당신이 직접 할 수 있다고 말했다 ;-)
... 그리고 그것의 재미를 위해, 나는 최근에 그것을 한 적이 없는 입력 파일이 특징 "더블 업"페이지 만 "고음 업"을 하나. 이 다른 답변 에서이 사례 에 대한 답변을 읽을 수 있습니다 .
당신의 경우는 더 간단합니다. 당신은 이것과 비슷한 것을 가지고 있습니다 :
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
크기가 각각 421pt x 595pt 인 4 페이지로 1 개의 PDF를 만들려고합니다.
먼저 각 입력 페이지에서 왼쪽 섹션을 추출해 보겠습니다.
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
이 매개 변수는 무엇을 했습니까?
먼저 PDF에서 1 inch == 72 points 입니다. 나머지는 다음과 같습니다.
-o ...............:
출력 파일 이름을 지정합니다. 암시 적으로도 사용합니다 -dBATCH -dNOPAUSE -dSAFER
.-sDEVICE=pdfwrite :
우리는 PDF를 출력 형식으로 원합니다.-g................:
출력 미디어 크기를 픽셀 단위로 설정합니다. pdfwrite의 기본 해상도는 720dpi입니다. 따라서 PageOffset과 일치하도록 10을 곱하십시오.-c "..............:
기본 입력 파일 바로 앞에있는 Postscript 코드 스 니펫을 처리하도록 Ghostscript에 요청합니다 (다음에 와야 함 -f
).<</PageOffset ....:
매체에서 페이지 이미지의 이동을 설정합니다. (물론, 왼쪽 페이지의 시프트 [0 0]
는 실제 효과가 없습니다.)-f ...............:
이 입력 파일을 처리하십시오.마지막 명령으로 얻은 결과는 무엇입니까?
이 하나:
Output file: left-sections.pdf, page 1
+------------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: left-sections.pdf, page 2
+------------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
다음으로 올바른 섹션 :
gs \
-o right-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [-421 0]>> setpagedevice" \
-f double-page-input.pdf
결과:
Output file: right-sections.pdf, page 1
+------------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: right-sections.pdf, page 2
+------------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
이제 페이지를 하나의 파일로 결합합니다. 우리는 고스트 스크립트로도 그렇게 할 수 있지만 pdftk
,이 작업이 더 빠르기 때문에 대신 사용할 것입니다.
pdftk \
A=right-sections.pdf \
B=left-sections.pdf \
shuffle A B \
output single-pages-output.pdf
verbose
끝난. 원하는 결과는 다음과 같습니다. 크기가 421x595pt 인 4 개의 다른 페이지
결과:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | | 595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->
"<</PageOffset [-421 0]>> setpagedevice"
. 원본 파일의 방향에 달려 있다고 생각합니다. 그럼에도 불구하고 훌륭한 답변. :)
@marttt와 Unix & Linux 의 답변에 감사합니다 .
mutool
(의 일부로 제공)을 사용할 수 있습니다 mupdf
.
mutool poster -x 2 input.pdf output.pdf
-y
수직 분할을 수행하려는 경우 에도 사용할 수 있습니다 .
@Kurt의 답변을 확장하려면 (평평한 의견이 충분하지 않기 때문에) 자르기 상자 치수가 미디어 상자 치수와 다른 경우 자르기 상자 치수를 기준으로하지 않아야합니다. 출력 크기는 미디어 상자 치수를 기준으로하지만 오프셋은 자르기 상자 치수를 사용하는 것 같습니다.
내 문서의 트리밍 상자와 동일한 20.0833 x 13.833 미디어 상자와 19.25 x 13.0 자르기 상자가있는 게이트 폴딩 페이지의 경우 왼쪽의 경우 우분투에서 두 페이지로 나눕니다.
gs -o left.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [0 0]>> setpagedevice" -f gatefold.pdf
우편:
gs -o right.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [-693 0]>> setpagedevice" -f gatefold.pdf
그런 다음로 봉합했습니다 pdftk left.pdf right.pdf output final.pdf
.
다른 방법은 자르기 상자를 미디어 상자와 동일하게 설정하는 것입니다. 오프셋은 -723입니다. 그러나 페이지가 매끄럽게 보이려면 자르기를 재설정하여 잘라 내야합니다. 그렇지 않으면 용지가 자르도록 설정하십시오.