일괄 크기 조정 및 PDF 파일 압축


15

PDF 파일의 크기를 줄이고 압축하는 방법이 필요합니다. Windows 에서이 작업을 선호하지만 매끄러운 워크 플로우를 의미한다면 Linux가 좋습니다.

이 작업을 수행 할 수있는 NitroPDF 및 Acrobat과 같은 프로그램이 있지만 파일 단위로 수행해야하는 것이 두렵습니다. 이 프로그램은 저렴하지 않으며 하나 또는 두 가지 기능을 사용할 수 있도록 구매하지 않는 것이 좋습니다.

배경 정보 : CamScanner를 사용하여 계정 입력을위한 영수증 및 송장을 디지털화합니다 (FreeAgent). CamScanner pdf는 모두 A4 크기이며 여러 페이지로 된 파일은 종종 2MB 첨부 제한을 초과합니다.

답변:


15

Windows, Linux, OS X 등의 내장 스크립팅 언어로 루프로 쉽게 일괄 처리 할 수있는 명령 줄 도구를 제안합니다.


ImageMagick 은 PDF를 지원 resize하며 변환 도구 와 함께 옵션이 있습니다. 나는 그것을 개인적으로 사용한 적이 없지만, 당신은 그것을 가지고 놀아 볼 수 있습니다.

compress옵션을 사용할 수도 있습니다 ( 여기 에 예가 있습니다 ).

PDF 회전

$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf

이것은 TIFF 지원 PDF를 가정합니다. 그렇지 않으면 ImageMagick이 이미지를 다운 샘플링하기 때문에 밀도 매개 변수가 중요합니다. 압축 옵션을 추가하면 품질 손실없이 PDF의 전체 크기를 작게 유지할 수 있습니다.

여러 페이지 PDF의 경우을 pdftk사용 mogrify하고 ImageMagick에서 각 페이지를 제자리로 변환 할 수 있습니다 .

$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf


ImageMagick으로 PDF 파일을 변환하려면 GhostScript가 설치되어 있어야합니다.


ImageMagick은 여러 페이지 PDF를 변환 할 수 있습니다. mogrify제자리에 변환 하는 동안 convert사고 발생시 원본을 보관할 수 있도록 사용하는 것이 좋습니다 .


제공 한 샘플 PDF에서 일부 테스트를 수행했습니다. 이것은 나를 위해 아주 잘 작동했습니다.

convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf

밀도는 기본적으로 72DPI입니다. 더 높게 설정하면 더 높은 해상도를 얻을 수 있으므로 품질이 좋아집니다. 잘 보았고 150조금 작았지만 다양한 PDF를 제공 200하려면 작동해야합니다.

JPEG 압축 중 하나를 자동으로 레벨 또는 기본 선택해야 92의 규모에를 1100100최고의 서비스를 제공합니다. 로 설정 20하면 원본과 거의 비슷하게 보입니다 (약간의 후지산과 하단의 작은 텍스트는 읽기가 약간 어렵지만 원래 어쨌든).

이 옵션을 사용하면 1.7MB 샘플을 0.5MB 로 낮추 면서 읽을 수 있습니다. 조금 실험 해 볼 수 있습니다.

당신이 (파일의 이미지 / PDF의 양) 작은 크기를 원하는 경우에, 당신은 사용할 수 있습니다 -resize #%예를 들어, -resize 75%. 예제 PDF에서 이것은 하단의 작은 인쇄물을 읽을 수 없게 만듭니다.

공간, 특히 여러 페이지 PDF에 대한 공간이 부족한 경우 파일을 ZIP (또는 다른) 아카이브에 추가하여 압축을 더 늘릴 수 있습니다. 이 테스트 PDF에서 파일 크기를 0.43MB로 줄였습니다 (JPEG 압축 품질을 줄이면 훨씬 더 큰 효과가 나타납니다). @glallen이 편집에서 제안한 pdftk대로 PDF 파일을 페이지로 분할하거나 아카이브를 분할하고 다른 쪽 끝을 다시 결합 할 수도 있습니다.

2MB는 첨부 파일 제한이 적기 때문에 다른 이메일 제공 업체를 살펴볼 수도 있습니다. 메모리에서 GMail은 이메일 당 10MB 이상을 제공합니다.

이러한 옵션 등 은 웹 사이트에 자세히 설명 되어 있습니다 .


그것은 훌륭한 접근 방식처럼 보이지만 내 PDF가 TIFF를 지원한다고 생각하지 않습니다. CamScanner는 먼저 JPEG 사진을 가져온 다음 내보내기 위해 PDF로 변환합니다. 이러한 PDF를 처리하는 것은 압축 여부에 관계없이 블로그 게시물이 나타내는 것처럼 다운 샘플링하는 것 같습니다. PDF에서 TIFF로 변환 한 다음 다시 PDF로 변환하면 품질이 유지되는 것처럼 보이지만 파일 크기가 늘어나고 페이지 크기와 밀도가 엉망이됩니다.
Stan

@paganompu 이해하는 것처럼 파일 크기를 줄이려고합니다. 압축은 JPEG어떻습니까? 어떻게 않았다 resize판명? 재생할 수있는 (민감하지 않은) 샘플 파일이 있습니까? 다운 샘플링이 허용됩니까?
Bob

JPEG는 괜찮 았지만 여러 페이지로 된 문서를 업로드해야하며 계정 항목 당 하나의 첨부 파일 만 가질 수 있습니다. 다운 샘플링이 심각합니다.이 테스트 문서 는 무손실 압축으로 변환 한 후 읽을 수 없습니다 .
Stan

@paganompu 나는 약간의 실험을 해봤고 작업 명령으로 답변을 업데이트했습니다. 파일 테스트는 여기 를 참조 하십시오 .
Bob

그 명령은 매력처럼 작동합니다. 내 "다운 샘플링"이 생략 된 것 같습니다 density... 나는 지시를 읽고 따를 수 있다고 맹세합니다! 조금 당황스러워 : S 시간을 내 주셔서 감사합니다 Bob
Stan

19

따라서 convertImageMagick에서 래스터 화 된 PDF를 생성하고 많은 사람들이 벡터 그래픽과 텍스트를 그대로 유지하여 삽입 된 이미지 만 압축하는 데 관심이 있습니다. 압축을 만드는 좋은 대안 gs은 패키지 ghostscript사용 예를 사용하는 것입니다.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf

위의 명령 매개 변수에서 -dPDFSETTINGS=/ebook중요합니다. 3 개의 값을 가질 수 있습니다.

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.