2012-06-26 3 views
1

고해상도 PDF 파일을 Google 서버에 업로드하려고하지만 더 작은 PDF 파일 크기를 생성하여 dpi 해상도를 줄임으로써 웹 응용 프로그램에 빠르게로드합니다.iTextSharp로 PDF의 dpi 해상도를 줄일 수 있습니까?

iTextSharp가 할 수있는 것입니까? 아니면 이것을 달성 할 수있는 또 다른 자유 소프트웨어가 있습니까?

답변

2

PDF files, in general, do not have DPI. PDF 파일에 포함 된 래스터 이미지는 않습니다. 할 수있는 일은 PDF 파일에 포함 된 이미지를 추출하고 더 낮은 해상도로 크기를 조정 한 다음 다시 파일에 저장하는 것입니다.

iText in Action에이 주제에 대한 장이 있습니다.

+0

YMS, 이미지 크기를 줄이지 않고도 파일 크기를 줄일 수있는 방법이 있습니까? – Akin

1

Ghostscript는 자유 소프트웨어입니다 (원하는 경우). 원하는대로 PDF를 다운 샘플링 할 수 있습니다. 페이지에 삽입 될 수있는 픽셀 이미지를 다운 샘플링 할 수 있습니다.

모든 이미지를 72dpi로 다운 샘플링하는 예제 명령 줄 (144dpi 이상의 해상도가있는 경우). 나는 짧은 명령을 사용하지 것이다, 그러나 당신이 실험을 할 수 있도록 내가 의도적으로, 모든 잠재적으로 유용한 매개 변수를 열거하려고 :

gs \ 
    -o downsampled.pdf \ 
    -sDEVICE=pdfwrite \ 
    -dColorImageDownsampleThreshold=2.0 \ 
    -dGrayImageDownsampleThreshold=2.0 \ 
    -dMonoImageDownsampleThreshold=2.0 \ 
    -dColorImageDownsampleType=/Bicubic \ 
    -dGrayImageDownsampleType=/Bicubic \ 
    -dMonoImageDownsampleType=/Bicubic \ 
    -dDownsampleColorImages=true \ 
    -dDownsampleGrayImages=true \ 
    -dDownsampleMonoImages=true \ 
    -dColorImageResolution=72 \ 
    -dGrayImageResolution=72 \ 
    -dMonoImageResolution=72 \ 
    -dAutoFilterColorImages=false \ 
    -dAutoFilterGrayImages=false \ 
    \ 
    -dEncodeColorImages=true \ 
    -dEncodeGrayImages=true \ 
    -dEncodeMonoImages=true \ 
    -dColorImageFilter=/DCTEncode \ 
    -dGrayImageFilter=/DCTEncode \ 
    -dMonoImageFilter=/CCITTFaxEncode \ 
    input.pdf 

당신이 모든 컬러 이미지 (즉,도 사람이다 다운 샘플링하려면 73dpi에서 144dpi로), -dColorImageDownsampleThreshold=1.0을 사용하십시오 (Ghostscript의 기본값은 =1.5입니다). 동일한 다른 * ImageDownsampleThreshold 설정으로갑니다. * ImageDownsampleTypes를 들어

- 당신은 또한 /Average의 값 또는 그 대신 내 제안 /Bicubic/Subsample을 실험 할 수 있습니다. 물론 모노, 그레이 및 컬러 이미지 유형에 대해 해상도, 샘플링 유형 및 임계 값에 대해 서로 다른 설정을 자유롭게 사용할 수 있습니다.

관련 문제