[java] PDF 파일에서 특정 이미지 모서리 반올림하기(Java Apache PDFBox 사용)

이번 블로그 포스트에서는 Java Apache PDFBox 라이브러리를 사용하여 PDF 파일에서 특정 이미지의 모서리를 반올림하는 방법에 대해 알아보겠습니다.

PDF 파일에는 여러 페이지와 이미지가 포함되어 있을 수 있습니다. 우리는 특정 페이지에서 특정 이미지의 모서리를 반올림하고 싶습니다.

1. Apache PDFBox 라이브러리 추가하기

먼저, Maven 또는 Gradle을 사용하여 Apache PDFBox 라이브러리를 프로젝트에 추가해야 합니다.

Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다.

<dependencies>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.25</version>
    </dependency>
</dependencies>

Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가합니다.

dependencies {
    implementation 'org.apache.pdfbox:pdfbox:2.0.25'
}

의존성을 추가한 후 적절한 방식으로 프로젝트를 갱신하십시오.

2. 특정 이미지 모서리 반올림하기

이제 PDF 파일에서 특정 이미지의 모서리를 반올림하는 방법에 대해 알아볼 차례입니다. 아래 예제 코드를 참고하십시오.

import java.io.File;
import java.io.IOException;
import java.awt.geom.RoundRectangle2D;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDImageXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

public class PDFImageRounder {
    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("input.pdf"))) {
            PDPage page = document.getPage(0); // 첫 번째 페이지로 가정

            // 반올림할 이미지의 위치와 크기를 지정
            float x = 100f; // X 좌표
            float y = 100f; // Y 좌표
            float width = 200f; // 너비
            float height = 200f; // 높이

            // 이미지 트랜스폼 생성
            RoundRectangle2D.Float roundRect = new RoundRectangle2D.Float(x, y, width, height, 20, 20);

            // 페이지에서 이미지 가져오기
            PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true);
            PDImageXObject image = PDImageXObject.createFromFile("image.png", document);

            // 이미지를 반올림하여 그리기
            contentStream.drawImage(image, roundRect);

            contentStream.close();
            document.save("output.pdf");
            System.out.println("PDF 파일에 반올림된 이미지가 추가되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서는 input.pdf 파일에서 첫 번째 페이지의 이미지의 모서리를 반올림하고, output.pdf 파일에 저장합니다. 아래에 변수를 설정하는 부분을 수정하여 원하는 이미지와 위치, 크기에 따라 코드를 조정할 수 있습니다.

float x = 100f; // X 좌표
float y = 100f; // Y 좌표
float width = 200f; // 너비
float height = 200f; // 높이

3. 실행 결과 확인하기

위 코드를 실행하면 output.pdf 파일이 생성되고, 지정한 이미지의 모서리가 반올림된 결과를 확인할 수 있습니다.

이제 Java Apache PDFBox를 사용하여 PDF 파일에서 특정 이미지의 모서리를 반올림하는 방법을 알게 되었습니다. 참고 코드를 사용하여 여러분의 PDF 파일에 다양한 이미지 처리를 적용해 보세요.

더 많은 정보는 Apache PDFBox 공식 문서에서 확인하실 수 있습니다.