스캔한 PDF 데이터에서 제본하는 절차
7128 단어 ShellScriptBash쉘pdftkPDF
전제
mupdf-tools
pdftk
pdfjam
imagemagick
가 설치되어 있다고 가정합니다.
절차별
2페이지 한 쌍으로 된 것을 1페이지 단위로 분할
Before| ¦ | | ¦ |
| 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
After| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
Commandmutool poster -x 2 in.pdf out.pdf
표지용・뒤표지용으로 백지를 추가하는 4의 배수 페이지가 되도록 조정한다
Before| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
After| |
| - 1 |
| |
| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
| | | | | |
| + 1 | | + 2 | | + 3 |
| | | | | |
Commandconvert xc:none -page A5 /tmp/blank.pdf
N=$(pdftk in.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=in.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output out.pdf
rm /tmp/blank.pdf
2페이지 한 쌍으로 된 것을 1페이지 단위로 분할
Before
| ¦ | | ¦ |
| 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
After
| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
Command
mutool poster -x 2 in.pdf out.pdf
표지용・뒤표지용으로 백지를 추가하는 4의 배수 페이지가 되도록 조정한다
Before
| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
After
| |
| - 1 |
| |
| | | | | | | |
| 1 | | 2 | | 3 | | 4 |
| | | | | | | |
| | | | | |
| + 1 | | + 2 | | + 3 |
| | | | | |
Command
convert xc:none -page A5 /tmp/blank.pdf
N=$(pdftk in.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=in.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output out.pdf
rm /tmp/blank.pdf
페이지 크기에 편차가 있는 경우의 조치
GhostScript 사용
gs
명령 설치가 필요합니다.gs -sOutputFile=out.pdf -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dPDFFitPage -dNOPAUSE -dBATCH in.pdf
프린터 유틸리티의 PDF 출력 기능 사용
Mac이라면 이런 것이 있습니다.
양면 인쇄, 중철용으로 정렬하여 2페이지 1조로 결합
Before
| | | | | | | |
| - 1 | | 1 | | 2 | | 3 |
| | | | | | | |
| | | | | | | |
| 4 | | + 1 | | + 2 | | + 3 |
| | | | | | | |
After
| ¦ | | ¦ |
| + 3 ¦ - 1 | | 1 ¦ + 2 |
| ¦ | | ¦ |
| ¦ | | ¦ |
| + 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
Command(장변 철 인쇄의 경우)
pdfbook in.pdf --outfile out.pdf
Command(단변 철사 인쇄의 경우)
pdfbook --short-edge in.pdf --outfile out.pdf
단번에 실행
Before| ¦ | | ¦ |
| 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
After| ¦ | | ¦ |
| + 3 ¦ - 1 | | 1 ¦ + 2 |
| ¦ | | ¦ |
| ¦ | | ¦ |
| + 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
Command(장변 철 인쇄의 경우)convert xc:none -page A5 /tmp/blank.pdf
mutool poster -x 2 in.pdf /tmp/tmp-0.pdf
N=$(pdftk /tmp/tmp-0.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=/tmp/tmp-0.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output /tmp/tmp-1.pdf
pdfbook /tmp/tmp-1.pdf --outfile out.pdf
rm /tmp/blank.pdf /tmp/tmp-*.pdf
Command(단변 철사 인쇄의 경우)convert xc:none -page A5 /tmp/blank.pdf
mutool poster -x 2 in.pdf /tmp/tmp-0.pdf
N=$(pdftk /tmp/tmp-0.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=/tmp/tmp-0.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output /tmp/tmp-1.pdf
pdfbook --short-edge /tmp/tmp-1.pdf --outfile out.pdf
rm /tmp/blank.pdf /tmp/tmp-*.pdf
Reference
이 문제에 관하여(스캔한 PDF 데이터에서 제본하는 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mpyw/items/646070d28a36955b2590
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
| ¦ | | ¦ |
| 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
| ¦ | | ¦ |
| + 3 ¦ - 1 | | 1 ¦ + 2 |
| ¦ | | ¦ |
| ¦ | | ¦ |
| + 1 ¦ 2 | | 3 ¦ 4 |
| ¦ | | ¦ |
convert xc:none -page A5 /tmp/blank.pdf
mutool poster -x 2 in.pdf /tmp/tmp-0.pdf
N=$(pdftk /tmp/tmp-0.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=/tmp/tmp-0.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output /tmp/tmp-1.pdf
pdfbook /tmp/tmp-1.pdf --outfile out.pdf
rm /tmp/blank.pdf /tmp/tmp-*.pdf
convert xc:none -page A5 /tmp/blank.pdf
mutool poster -x 2 in.pdf /tmp/tmp-0.pdf
N=$(pdftk /tmp/tmp-0.pdf dump_data | grep NumberOfPages | awk '{print $2}')
N=$(( (4 - (N + 2) % 4) % 4 + 1 ))
pdftk A=/tmp/blank.pdf B=/tmp/tmp-0.pdf cat $(
printf 'A1 B1-end '
printf 'A1 %.0s' {1..$N}
) output /tmp/tmp-1.pdf
pdfbook --short-edge /tmp/tmp-1.pdf --outfile out.pdf
rm /tmp/blank.pdf /tmp/tmp-*.pdf
Reference
이 문제에 관하여(스캔한 PDF 데이터에서 제본하는 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mpyw/items/646070d28a36955b2590텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)