내 생각에 작업을 수행하는 가장 좋은 방법은 그래픽 사용자 인터페이스 프로그램을 사용하는 것이 아니라 유닉스 / 리눅스 환경과 같은 bash 스크립트 모음을 사용하는 것이므로 프로그래밍에 대한 기본 지식이 있다면 GUI 프로그램이 제공 할 수있는 훨씬 더 많은 일을합니다.
사용할 수있는 최소 유닉스 계열 명령 줄을 먼저 설치할 수 있습니다
Cygwin에는 많은 양의 소프트웨어 패키지가 포함되어 있기 때문에 선호합니다.
PDF 설치에서 이미지를 추출하려면 pdfimages pdfimages는 PDF 파일에서 이미지를 추출하기위한 오픈 소스 명령 줄 유틸리티입니다. poppler-utils 및 xpdf-utils의 일부로 자유롭게 사용할 수 있으며 많은 Linux 배포판에 기본적으로 포함되어 있습니다.
$ pdfimages file.pdf foo
이 사용법은 "foo"를 접두어로 사용하여 일련의 번호가 매겨진 이미지를 생성합니다.
실제로 사용 $ mkdir temp $ mkdir temp / jpg
임시 디렉토리 내에 jpg라는 임시 폴더를 만드는 방법
$ pdfimages -j file.pdf temp/jpg/foo
temp 폴더에 여러 개의 fooXXXX.jpg 이미지가 있다고 가정 해 봅시다.
귀하의 경우에는 fooXXXX.jpg 사진이 있습니다.
이제 변환 (ImageMagick의 명령 줄)을 사용하여 하나의 PDF를 생성 할 수 있습니다
따라서 ImageMagick http://www.imagemagick.org/를 다운로드 하거나 Cygwin 패키지 관리자를 사용하여 설치하십시오
변환 문서를 살펴보십시오 (원하는 검색 엔진에서 "ImageMagick 변환"유형)
사진을 하나의 PDF 파일로 변환하려면 반드시 작성해야합니다.
$ convert -compress jpeg temp/*.jpg my_output_file.pdf
그게 다야 ... ;-)이 솔루션은 확장 될 수 있습니다 ...
스캔 한 사진이 책에서 나왔다고 상상해 봅시다. 1 개의 파일은 실제로는 책의 2 페이지입니다 ...
10 개의 파일이 있다면 ... 책에 20 페이지가 있고 PDF에 20 페이지가 있기를 원합니다.
따라서 한 페이지에 2 개의 파일을 만들려면 하나의 파일에 포함 된 이미지를 분할해야합니다.
파일이 temp / foo0001.jpg라고 가정하면 2 개의 파일 temp2 / foo0001a.jpg (왼쪽 페이지)와 temp2 / foo0001b.jpg (오른쪽 페이지)가 있습니다.
temp2 디렉토리를 만듭니다 (슬릿 파일이있는 위치)
$ mkdir temp2
$ mkdir temp2/jpg
텍스트 편집기를 사용하여 split_jpg_minw.sh라는 파일을 만듭니다 (Emacs, VI 또는 Windows 응용 프로그램을 선호하는 경우 메모장 또는 메모장 ++를 사용할 수 있음)
minimal_width=1500
minimal_width_ignore=10
rm temp2/jpg/*.jpg
for f in temp/jpg/*.jpg
do
f2=$(basename $f)
read -r width height <<< $( convert $f -format "%w %h" info:)
width2=$(( ${width} / 2 ))
height2=${height}
if [ $width -gt $minimal_width ]; then
echo "split $f ${width}x${height} to 2 files ${width2}x${height2}"
convert $f -crop ${width2}x${height2}+0+0 +repage temp2/jpg/${f2%%.*}a.jpg
convert $f -crop ${width2}x${height2}+$width2+0 +repage temp2/jpg/${f2%%.*}b.jpg
else
if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px
echo "copy $f ${width}x${height} (don't split because width<$minimal_width)"
cp $f temp2/jpg/$f2
else
echo "ignore $f ${width}x${height} width=$width<minimal_width_ignore=$minimal_width_ignore"
fi
fi
do
width = 1500px는 파일을 분할하는 한도입니다.
- 너비가 1500px를 초과하는 파일은 분할됩니다
- 너비가 1500px 미만인 파일은 분할되지 않습니다
이 스크립트를 실행 가능하게 만드십시오
$ chmod +x split_jpg_minw.sh
(탭 키를 사용하여 파일 이름을 자동 완성 할 수 있습니다)
스크립트를 실행
$ ./split_jpg_minw.sh
분할 된 파일은 temp2 / jpg 폴더에 있습니다.
새로운 "분할 된"파일을 생성하십시오.
$ convert -compress jpeg temp2/*.jpg my_output_file_splitted.pdf
bash 스크립팅을 사용하여 PDF 파일을 생성하기 위해 체인에 훨씬 더 많은 옵션을 추가 할 수 있습니다.
제한이 없습니다 ... 스크립팅을 배우기 만하면됩니다 (그러나 일부 코드 샘플은 때때로 책보다 훨씬 유용합니다)
예를 들어, G'MIC와 같은 명령 줄 도구를 사용하여 PDF 파일을 생성하기 전에 (예 : 모아레 패턴을 제거하거나 노이즈를 줄이기 위해) 사진에 필터를 적용 할 수 있습니다.