2009-07-08 2 views
4

나는 방금 열려고하는 많은 PDF 파일을 가지고 있으며 페이지 크기를 조정 한 다음 저장합니다. 또한 파일 크기가 크게 줄어들 길 기대합니다. 나는 iTextSharp를 사용하고 있으며 크기 조정은 잘 작동하지만 파일 크기는 사실 거의 동일합니다. 여기에 기능 내가 지금 가지고있는 것 :iTextSharp를 사용하여 PDF 크기를 조정하는 방법

Dim reader As New PdfReader(inPDF) 
    Dim doc As New Document(PageSize.LETTER) 
    Document.Compress = True 
    Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(outPDF, FileMode.Create)) 
    doc.Open() 
    Dim cb As PdfContentByte = writer.DirectContent 

    Dim page As PdfImportedPage 
    For pageNumber As Long = 1 To reader.NumberOfPages 
     page = writer.GetImportedPage(reader, pageNumber) 
     cb.AddTemplate(page, PageSize.LETTER.Width/reader.GetPageSize(pageNumber).Width, 0, 0, PageSize.LETTER.Height/reader.GetPageSize(pageNumber).Height, 0, 0) 
     doc.NewPage() 
    Next pageNumber 
    doc.Close() 

사람이 실제로뿐만 아니라 파일 크기를 얻을 수 없을 수 있습니다 알고 있나요?

감사합니다.

답변

2

페이지 크기를 줄이면 페이지 크기가 줄어 듭니다. 콘텐츠를 삭제하지 않으므로 파일 크기가 변경되지 않습니다.

파일 크기를 줄이는 데는 세 가지 방법이 있습니다. 내용을 제거하고, 텍스트 개체가 압축되었는지 확인하고, 이미지가 효율적인지 확인하십시오.

효율적인 이미지는 이미지가 원하는 것보다 크지 않으며 올바른 종류의 압축이 사용된다는 것입니다. 1800 픽셀의 거대한 이미지를 사용하고 pdf에서 2.5 인치의 크기로 조정할 수 있습니다. 이렇게하면 2.5 인치 너비로 표시되지만 1800 픽셀이됩니다. 파일을 줄일 수 있습니다 이 경우 300 dpi 인쇄 해상도의 경우 크기가 750 픽셀 여야합니다. 표준 PDF 72 dpi 해상도의 경우 너비가 202 픽셀 인 이미지 만 필요합니다.

pdfs는 자동으로 jpeg를 사용합니다. 이미지가 인보이스 나 수표 스캔과 같이 2 색 인 경우 G4 압축으로 tiff를 사용하면 jpeg보다 파일 크기가 훨씬 작아집니다.

+0

여기에서 추정하여 다음과 같이 말합니다. 내 목표를 달성하면 이미지를 추출한 다음이를 다시 조작하여 새 PDF로 다시 가져와야합니다. d 문제 해결 방법 : http://stackoverflow.com/questions/802269/itextsharp-extract-images – Ryan

+0

예. 형식 지정을 방해하지 않도록주의해야합니다. –