태그 보관물: pdf

pdf

페이지 당 PDF 2면을 페이지 당 1면으로 변환 양면이있는 PDF를 페이지 당

페이지 당 양면이있는 PDF를 페이지 당 1면으로 변환하려면 어떻게해야합니까?



답변

문제는 Acrobat (Reader가 아닌 정식 버전)의 도움으로 이미 해결되었습니다. 그러나 Acrobat에 액세스 할 수 없으면 어떻게해야합니까? Ghostscript와 pdftk로도 가능합니까?

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

… 재미있게하기 위해 “더블 업”페이지가 아닌 입력 파일을 사용하고 “트레블 업”이있는 입력 파일을 사용하겠습니다. 실제로, 나는 오늘 그러한 PDF를 이메일로 받았습니다. 그것은 Leporello의 Scheme에 접힌 전단지였습니다 . 시트 크기는 A4 가로 (842pt x 595pt)이며 다음과 같이 접 히고 배치되었습니다.

Front side to be printed, page 1 of PDF
+--------+--------+--------+   ^
|        |        |        |   |
|   5    |   6    |   1    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
         ^        ^
        fold     fold
         v        v
+--------+--------+--------+   ^
|        |        |        |   |
|   2    |   3    |   4    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
Back side to be printed, page 2 of PDF
<---------- 842 pt -------->

6 페이지로 1 개의 PDF를 만들고 싶습니다. 각 페이지의 크기는 280.67pt x 595 pt입니다.

첫 번째 단계

먼저 각 입력 페이지에서 왼쪽 섹션을 추출해 보겠습니다.

gswin32c.exe ^
    -o left-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [0 0]>> setpagedevice" ^
    -f myflyer.pdf

이 매개 변수는 무엇을 했습니까?

  • -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
+--------+  ^
|        |  |
|   5    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: left-sections.pdf, page 2
+--------+  ^
|        |  |
|   2    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

두번째 단계

이제 가운데 부분에 대해 비슷한 작업을 수행하십시오.

gswin32c.exe ^
    -o center-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [280.67 0]>> setpagedevice" ^
    -f myflyer.pdf

결과:

Output file: center-sections.pdf, page 1
+--------+  ^
|        |  |
|   6    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: center-sections.pdf, page 2
+--------+  ^
|        |  |
|   3    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

세 번째 단계

마지막으로 올바른 섹션 :

gswin32c.exe ^
    -o right-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [561.34 0]>> setpagedevice" ^
    -f myflyer.pdf

결과:

Output file: right-sections.pdf, page 1
+--------+  ^
|        |  |
|   1    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: right-sections.pdf, page 2
+--------+  ^
|        |  |
|   4    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

마지막 단계

이제 페이지를 하나의 파일로 결합합니다.

pdftk.exe ^
  A=right-sections.pdf ^
  B=center-sections.pdf ^
  C=left-sections.pdf ^
  cat A1 B2 C2 A2 B1 C1 ^
  output single-files-input.pdf
  verbose

끝난. 원하는 결과는 다음과 같습니다. 크기가 280.67×595 인 6 개의 서로 다른 페이지

결과:

+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   ^
|        |  |        |  |        |  |        |  |        |  |        |   |
|   1    |  |   2    |  |   3    |  |   4    |  |   5    |  |   6    |   |
|        |  |        |  |        |  |        |  |        |  |        | 595 pt
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   v
< 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >

답변

방금 같은 문제가있었습니다. pdf 페이지를 분리하고 자르기위한 오픈 소스 Java GUI 도구 인 briss를 발견했습니다.

http://sourceforge.net/projects/briss/

사용자 인터페이스가 완전히 사소한 것은 아니지만 Linux에서는 매우 잘 작동했습니다. 다른 크기의 페이지가있는 pdf로도 작동했습니다!


답변

@peims, 감사합니다. 방법의 단계별 버전은 다음과 같습니다. Kindle DX로 변환하고 싶은 파일로 시도했는데 완벽하게 작동합니다.

  • Acrobat v9 정식 버전을 사용하여 페이지 왼쪽을 자르고 “left.pdf”로 저장하십시오.
    • 자르기 도구를 사용하여 페이지의 왼쪽을 표시하십시오.
    • 마우스 오른쪽 버튼을 클릭하고 “크롭 박스 설정”을 선택하십시오.
    • “문서 .. 자르기 페이지”를 선택하고 자르기를 전체 문서에 적용하십시오.
  • 오른쪽 페이지에서 “right.pdf”로 저장하십시오.
  • 이 단계에서는 왼쪽 페이지가있는 “left.pdf”와 오른쪽 페이지가있는 “right.pdf”의 두 가지 문서가 있습니다.

그런 다음 pdftk.exe ( http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ )를 사용하여 결과를 단일 파일로 인터리브하십시오. “pdftk.exe”, “left.pdf”및 “right.pdf”를 “D : \”로 복사하고 다음을 실행하십시오.

  • D :> pdftk D : \ left.pdf 버스트 출력 % 05d_A.pdf
  • D :> pdftk D : \ right.pdf 버스트 출력 % 05d_B.pdf
  • D :> pdftk * _ ?. pdf 고양이 출력 결합 .pdf

참고 : 파일을 “C : \”로 복사하면 보안 권한으로 인해 Win 7에서 작동하지 않습니다. D : \가 없으면 “C : \ x”디렉토리를 작성하여 작업을 완료하십시오.

이 결과는 일반적으로 충분합니다. 그러나 출력을 향상시키기위한 두 가지 선택적 단계가 더 있습니다.

  • (선택적인 마지막 단계 1)이 단계에서 문서는 크기가 크므로 (내 문서는 7MB에서 80MB로 풍선) 다음 중 하나를 사용하여 파일 크기를 줄일 수 있습니다.
    • “Advanced..PDF Optimizer”또는
    • “Acrobat 5와 호환”설정의 “Advanced..Preflight”
  • (선택 사항 2 단계) 페이지 크기가 모두 다릅니다. 모든 페이지에서 자르기를 반복하면 모든 크기가 균일합니다.

답변

문서를 복제 한 다음 짝수 페이지 번호 만 하나의 파일에 표시되고 홀수 페이지 번호 만 다른 파일에 표시되도록 페이지를자를 수 있습니다. 그런 다음 파일을 단일 페이지로 분할하고 다시 결합하여 한면이있는 문서를 한 페이지로 만듭니다.

여러 가지 방법을 사용하여이를 수행 할 수 있습니다 (예 :

  1. Adobe Acrobat 자르기 도구를 사용하여 이중 페이지의 한면을 자르고 자르기를 모든 페이지에 적용하십시오.
  2. pdftoolkit 의 ‘burst’명령을 사용하여 파일을 개별 페이지로 분할
  3. 파일 이름 바꾸기 도구 (예 : ReNamer )를 사용하여 순차적으로 파일 이름을 바꿉니다.
  4. pdftoolkit에서 ‘cat’명령을 사용하여 페이지를 다시 결합하십시오.

답변

다음 스크립트를 사용하여 Mac 및 Linux에서 스캔 한 책을 처리합니다. 이것은 메모리 집약적 일 수 있습니다.

#!/bin/bash
#
# This script processes scanned books. After scanning the books have been cropped with
# Preview. This does kind of a "soft crop" that we need to make a bit "harder".
#
# The second step is to take each page of the PDF and split this into two two pages,
# because each page of the scanned document actually contains two pages of the book.
#
#

FILE=`mktemp`.pdf
FILE2=`mktemp`.pdf
FILE3=`mktemp`.pdf

echo "Making a temporary copy of the input file."

cp $1 $FILE

#
# Start cropping
#

echo "Cropping the PDF"

# The first regex removes all boxes but CropBox. The second regex renames the  CropBox as MediaBox

perl -pi.bak -e 's/\/(Media|Bleed|Art|Trim)Box[\n\l\f\s]*\[(.+?)\]//msg;' $FILE
perl -pi.bak -e 's/CropBox/MediaBox/g;' $FILE

echo "Validating the PDF"

#Run PDFTK to ensure that the file is OK

cat $FILE | pdftk - output $FILE2

#
# Done cropping, start splitting the pages
#

echo "Splitting the pages in two and changing to 200 dpi with imagemagick. Output goes to $FILE3"

convert -density 200  $FILE2 -crop 50%x0 +repage $FILE3

#
# Done spliting, copy the result in a new file
#


mv $FILE3 $1.pages.pdf

답변

훌륭한 참조 주셔서 감사합니다. 나는 비슷한 문제에 있었지만 나를 위해 일한 것을 나누고 싶었다.

가로 방향의 세로 방향 텍스트가 왼쪽에만있는 가로 방향 타블로이드 pdf가 있습니다. 본질적으로 2 개의 타블로이드는 페이지 오른쪽에 내용이 없습니다. 비슷한 시작 지점이지만 타블로이드는 792 × 1224 (세로), 1124 x 792 (가로)이며 필요한 1/2 타블로이드의 포인트 정의는 612 x 792 포인트입니다.

"C:\Program Files\gs\gs9.10\bin\gswin64c.exe" -o left2.pdf -sDEVICE=pdfwrite -g6120x7920 -c "<</PageOffset [0 0]>> setpagedevice" -f "RFP.pdf"

8.5 x 11 세로로 필요한 내용을 훨씬 더 읽기 쉽게 만들었습니다.


답변

내가 이해하는 것은 두 페이지 (한 장에 나란히 있음)를 보여주는 PDF 파일을 한 장에 한 페이지로 변환하여 두 장의 PDF 파일을 만들어야한다는 것입니다. 다시 말해 15 장에 총 30 페이지가있는 경우 PDF 파일을 각각 한 페이지를 표시하는 30 장의 PDF 파일로 변환해야합니다. 이 문제가 발생하면 1에서 30까지의 페이지 번호를 지정하여 Adobe acrobat XI PRO “추출 페이지 도구”를 사용했습니다.