관리 메뉴

피터의 개발이야기

[Spring] PDF의 첫장 섬네일 만들기 본문

Programming/Spring

[Spring] PDF의 첫장 섬네일 만들기

기록하는 백앤드개발자 2020. 12. 24. 02:52
반응형

회사 프로젝트 중에 PDF의 섬네일을 만드는 과정을 정리하였습니다.
어제는 PDF를 이미지로 만드는데 성공하였고,
오늘은 이미지를 100X100 사이즈의 Thumbnail로 만드는 작업을 진행하였습니다.

 

gradle 추가

    //thumbnail
    compile group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2'
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1'
    compile group: 'commons-io', name: 'commons-io', version: '2.6'

 

이미지를 섬네일 이미지로 변경

    public File thumbnailS3Upload(File file) throws Exception {

        // 썸네일 크기는 100X100
        BufferedImage sourceImg = ImageIO.read(file);

        int ow = sourceImg.getWidth();
        int oh = sourceImg.getHeight();

        int nw = ow;
        int nh = (ow * 100) / 100;

        if (nh > oh) {
            nw = (oh * 100) / 100;
            nh = oh;
        }

        // 계산된 크기로 원본이미지를 가운데에서 crop 합니다.
        BufferedImage cropImg = Scalr.crop(sourceImg, (ow - nw) / 2, (oh - nh) / 2, nw, nh);
        BufferedImage destImg = Scalr.resize(cropImg, 100, 100);

        String thumbName = tempPath + "THUMB_" + UUID.randomUUID() + "-" + file.getName();
        File thumbFile = new File(thumbName);

        ImageIO.write(destImg, FilenameUtils.getExtension(file.getName()), thumbFile);
        return thumbFile;
    }

성공한 이미지

 

공부했던 소스는 여기에 있습니다.

반응형
Comments