PDF 페이지를 가운데로 나누려면 어떻게해야합니까?


38

PDF 페이지를 중간에 두 개의 새 페이지로 나누는 좋은 방법을 아는 사람이 있습니까?

분명히하기 위해, 나는 이미 존재하는 페이지를 pdf에서 분리하려고 하지 않습니다 . 기존 단일 페이지에서 두 개의 새 페이지를 만들려고합니다.


왜 이러고 싶니? 더 작은 페이지가 표시됩니까?
akira jan

MS Office는 프리웨어는 아니지만 MS Office 2007을 사용하는 경우 문서를 PDF 파일로 저장하고 원하는대로 수행 할 수 있습니다.
Owen


답변:


26

BRISS를 사용해보십시오 .

대체 텍스트

GUI를 사용하여 영역을 정의하여 각 페이지를 원하는 수의 서브 페이지로 분할 할 수 있습니다. 유사한 페이지를 모두 그룹으로 그룹화하므로 해당 그룹의 지역을 한 번 정의 할 수 있습니다.

크로스 플랫폼, 무료 및 오픈 소스입니다.


자른 페이지마다 원본 페이지 내용과 자르기 상자를 사용하므로 파일 크기가 증가합니다 ( "입력 페이지 당 출력 페이지 수"시간). 작은 파일 크기가 필요한 경우 출력 파일을 PS로 인쇄 한 다음 PDF로 변환 할 수 있지만 비트 맵 글꼴로 인해 품질이 저하 될 수 있습니다.
tanius

37

Ghostscript의 도움으로이 문제를 해결할 수 있습니다. pdftk혼자서는 (내가 아는 한) 그렇게 할 수 없습니다. 이 작업을 수동으로 수행하는 명령 줄 단계를 알려 드리겠습니다. 페이지 크기 및 페이지 번호에 대한 다른 매개 변수를 사용하여이를 절차로 쉽게 스크립팅 할 수 있습니다. 그러나 당신은 당신이 직접 할 수 있다고 말했다 ;-)

Ghostscript의 도움으로 이것을 해결하는 방법 ...

... 그리고 그것의 재미를 위해, 나는 최근에 그것을 한 적이 없는 입력 파일이 특징 "더블 업"페이지 만 "고음 업"을 하나. 이 다른 답변 에서이 사례 대한 답변을 읽을 수 있습니다 .

당신의 경우는 더 간단합니다. 당신은 이것과 비슷한 것을 가지고 있습니다 :

+------------+------------+   ^
|            |            |   |
|      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 -->

3
예쁜! 공짜를 계속 공짜로 받으려면 모든 답변에 이것을 사용해야합니다!
Ivo Flipse

2
두 번째 단계는 음수 오프셋을 사용할 때만 작동했습니다 "<</PageOffset [-421 0]>> setpagedevice". 원본 파일의 방향에 달려 있다고 생각합니다. 그럼에도 불구하고 훌륭한 답변. :)
moraes

1
나에게 두 번째 단계는 빼기 기호와 함께 일했다
Rafareino

9

@marttt와 Unix & Linux답변에 감사합니다 .

mutool(의 일부로 제공)을 사용할 수 있습니다 mupdf.

mutool poster -x 2 input.pdf output.pdf

-y수직 분할을 수행하려는 경우 에도 사용할 수 있습니다 .


이것은 간단한 해결책입니다. 감사합니다. 불행히도 페이지의 내용을 이동하여 여백을 조정하는 방법은 없습니다.
Ján Lalinský

0

@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입니다. 그러나 페이지가 매끄럽게 보이려면 자르기를 재설정하여 잘라 내야합니다. 그렇지 않으면 용지가 자르도록 설정하십시오.


이러한 명령 옵션으로 페이지를 분할 한 후에는 미디어 상자가 변경되지 않습니다. 자르기 만 변경됩니다. 한 페이지를 여러 페이지로 분할하면 새 페이지가 이전 페이지의 미디어 상자 크기를 유지합니다. 미디어 박스 치수를 수정하려면 sed가 필요합니다. 명령에 숫자를 포함시키지 않고 자르도록 미디어 상자를 설정하는 방법을 모르지만.
motorbaby

죄송합니다. 새 페이지는 이전 페이지의 자르기 상자 크기를 유지합니다.
motorbaby

Acrobat PDF에서 버그를 발견했습니다. 시각적으로 cropBox 크기는 Acrobat의 페이지 상자 설정에서 볼 수 있습니다. 그러나 Ghostscript를 사용하여 gatefold를 분할 한 후 cropBox 치수는 이전 페이지 치수를 다른 수준으로 유지했습니다. 이것은 Acrobat의 프리 플라이트 분석 정보에서 볼 수 있습니다. 왼쪽 페이지 오른쪽의 Acrobat에서 자르기를 일시적으로 임의의 숫자로 조정 한 다음 0으로 되 돌린 후에 다른 상자 크기 (블리드, 아트 및 자르기)도 조정되었습니다. 이로 인해 cropBox 데이터에 여전히 이전 페이지 크기가 표시되는 문제가 해결되었습니다. 오른쪽 페이지는 약간 다릅니다.
motorbaby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.