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.