Imagemagick를 사용하여 pdf : s를 병합하는 방법 (해결 문제)


43

Imagemagick를 사용하여 두 개의 .pdf 파일을 병합하려고 할 때

convert pdf1.pdf pdf2.pdf temp.pdf

결과 temp.pdf 파일의 해상도가 매우 낮은 것 같습니다. 소스 파일에서와 동일한 해상도를 유지하려면 어떻게해야합니까?

답변:


53

Barns는 옳지 만 pdftk가 작동하지 않으면 고스트 스크립트를 사용해보십시오.

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf

ImageMagick을 -density 플래그와 함께 사용하는 것보다 훨씬 빠르고 완벽하게 작동했습니다.
Brionius

이것이 정답이어야합니다. ImageMagick이 작동하지 않습니다. 그것도 작동합니다. 그러나 @Brionius가 지적했듯이 gs는 훨씬 빠르며 결과 pdf의 품질은 최고입니다.
Jagtesh Chadha 2016

이 명령의 끝에 pdf1.pdf 및 pdf2.pdf 목록 대신 * .pdf를 사용하여 폴더의 모든 pdf를 단일 pdf로 변환 할 수 있습니다.
Colin D

글꼴에 문제가 있었고 일부 페이지의 글꼴이 사라졌습니다. 선택할 수있는 방법이 있습니까?
Zloy Smiertniy

20

Imagemagick의 convert 명령은 일반적으로 이미지 파일을 한 형식에서 다른 형식으로 변환하는 데 사용되며,이 경우 두 "이미지"(PDF)를 단일 파일로 출력하기 전에 실제로 내부 정렬을 수행하는 것이 가능합니다.

대신 http://www.accesspdf.com/pdftk/ 대신 PDF 툴킷 (pdftk)을 사용하는 것이 좋습니다 .

웹 사이트의 예제에서 다음과 같이 간단해야합니다.

pdftk pdf1.pdf pdf2.pdf cat output temp.pdf

OS X 10.6.1에서 실행 중이며 Macports를 통해 pdftk를 설치하려고했습니다. Mac에서 pdftk가 더 이상 사용되지 않는 것 같습니다. 설치가 완료되지 않습니다. 그래서 Imagemagick을 사용 하여이 작업을 시도했습니다.

우분투에서 pdftk는 apt에서 설치하는 데 아무런 문제가 없었으며, 그 트릭을 영광스럽게했습니다. 나는 ImageMagick을 사용하여 PDF를 크게 성공시키기 전에 함께 스티칭했지만 PDF를 먼저 래스터 화하기 때문에 (벡터에서는 작동하지 않음) 대부분의 텍스트 문서에는 적합하지 않습니다. 그러나 pdftk는 제안에 감사했습니다.
이구아나 노트

감사합니다
Dan Ortega

이것을 고집합시다. pdftk는 이것을하는 ghostcript보다 더 잘 작동합니다.
Dan Ortega

18

병합하려는 모든 파일이 동일한 폴더에있는 경우 :

convert -density 150 $(ls -rt *pdf) output.pdf

인수 -density 150는 병합 된 PDF의 품질을 유지합니다.


5
모든 PDF 구문에 대한 참고 사항으로 sub-ls 명령을 생략 할 수 있습니다.convert -density 150 *.pdf output.pdf
Josh

'* .pdf'및 '$ (ls -rt * pdf)'는 다른 출력을 초래할 수 있습니다.
shantanoo

8

나는 항상 이것을하는 방법을 잊고 검색 할 때이 질문을 먼저 찾습니다.

convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf

링크 된 예는 144의 밀도를 갖지만 픽셀 화되지 않을 정도로 충분히 높지 않았습니다.

http://web.archive.org/web/20130311071316/http://studio.imagemagick.org/pipermail/magick-users/2009-September/022958.html


죄송합니다. 링크가 현재 종료되었습니다.
Sablefoste


0

해상도와 텍스트를 그대로 유지하면서 두 개의 pdf 파일을 결합하는 방법을 찾을 수 없었지만 고해상도 PNG 파일로 변환하는 방법을 찾았습니다.

pdftoppm -f 1 -l 1 -aa yes -aaVector yes -png -r 300 page.pdf > tmp1.png
pdftoppm -f 2 -l 2 -aa yes -aaVector yes -png -r 300 page.pdf > tmp2.png
convert tmp1.png tmp2.png +append -quality 100 page.png

이것은 page.pdf의 처음 두 페이지를 가져 와서 나란히 고해상도 PNG 파일로 결합합니다.

마지막 줄을

convert tmp1.png tmp2.png +append -quality 100 page.pdf

나중에 pngtopnm, pnmtops, ps2pdf로 엉망으로 알아 낸 후 pdf 문서 출력이 생성됩니다.


2
(가능한) 벡터 이미지를 래스터화할 것을 제안하는 경우 -1입니다. 갈 길이 아니에요
Marco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.