Java 압축 PDF 문서

본고는 다음 두 가지 측면에서 Java로 PDF 파일을 압축하는 방법을 소개한다.
• 문서 컨텐트 압축
• 문서 이미지 압축
문서 컨텐트 압축하기
import com.spire.pdf.*;

public class CompressPDF {
    public static void main(String[] args) {
        String inputFile = "Sample.pdf";
        String outputFile = "output/CompressPDFcontent.pdf";

        PdfDocument document = new PdfDocument();
        document.loadFromFile(inputFile);

        document.getFileInfo().setIncrementalUpdate(false);
        document.setCompressionLevel(PdfCompressionLevel.Best);

        document.saveToFile(outputFile, FileFormat.PDF);
        document.close();
        }
    }

문서 이미지 압축
먼저 원본 PDF 문서의 이미지를 추출하여 이미지 품질을 낮추고 이미지를 축소하며 이미지를 원본 문서의 이미지로 대체하여 PDF 문서의 크기를 줄입니다.
import com.spire.pdf.*;
import com.spire.pdf.exporting.PdfImageInfo;
import com.spire.pdf.graphics.PdfBitmap;

public class CompressPDF {

    public static void main(String[] args) {

        String inputFile = "Sample.pdf";
        String outputFile = "output/CompressPDFImage.pdf";

        PdfDocument document = new PdfDocument();
        document.loadFromFile(inputFile);

        document.getFileInfo().setIncrementalUpdate(false);

        for (int i = 0; i < document.getPages().getCount(); i++) {

            PdfPageBase page = document.getPages().get(i);
            PdfImageInfo[] images = page.getImagesInfo();
            if (images != null && images.length > 0)
                for (int j = 0; j < images.length; j++) {
                    PdfImageInfo image = images[j];
                    PdfBitmap bp = new PdfBitmap(image.getImage());
                    bp.setQuality(20);
                    page.replaceImage(j, bp);

                }
        }
        document.saveToFile(outputFile, FileFormat.PDF);
        document.close();
    }
}

좋은 웹페이지 즐겨찾기