[java] PDF 파일에 링크 추가하기(Java Apache PDFBox 사용)

PDF 파일에 링크를 추가하는 작업은 종종 필요할 수 있습니다. Java에서는 Apache PDFBox 라이브러리를 사용하여 이 작업을 간단하게 수행할 수 있습니다. 이 블로그 포스트에서는 Java Apache PDFBox를 사용하여 PDF 파일에 링크를 추가하는 방법을 알아보겠습니다.

Apache PDFBox 라이브러리 추가

먼저 프로젝트에 Apache PDFBox 라이브러리를 추가해야 합니다. 다음의 Maven 의존성을 pom.xml 파일에 추가하여 라이브러리를 가져올 수 있습니다.

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.26</version>
</dependency>

PDF 파일에 링크 추가하기

PDFBox를 사용하여 PDF 파일에 링크를 추가하기 위해 다음의 단계를 따르세요.

  1. PDF 파일을 로드합니다.
  2. PDF 페이지를 가져옵니다.
  3. 링크를 생성합니다.
  4. 링크의 위치와 관련된 정보를 설정합니다.
  5. 링크를 페이지에 추가합니다.
  6. 수정된 PDF 파일을 저장합니다.

다음은 실제 코드 예제입니다.

import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.interactive.action.PDActionURI;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLink;
import org.apache.pdfbox.pdmodel.common.PDRectangle;

public class PDFLinkAdder {
    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load(new File("path/to/input.pdf"));
            PDPage page = document.getPage(0);
            
            // 링크 생성
            PDAnnotationLink link = new PDAnnotationLink();
            PDRectangle rectangle = new PDRectangle();
            rectangle.setLowerLeftX(100);  // 링크의 x 좌표
            rectangle.setLowerLeftY(100);  // 링크의 y 좌표
            rectangle.setUpperRightX(200); // 링크의 폭
            rectangle.setUpperRightY(200); // 링크의 높이
            link.setRectangle(rectangle);
            
            // 링크의 작업을 설정합니다 (URL로 이동)
            PDActionURI action = new PDActionURI();
            action.setURI("http://www.example.com");
            link.setAction(action);
            
            // 페이지에 링크를 추가합니다
            page.getAnnotations().add(link);
            
            // 수정된 PDF 파일을 저장합니다
            document.save(new File("path/to/output.pdf"));
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 path/to/input.pdf 경로에 있는 기존의 PDF 파일에서 첫 번째 페이지를 가져와 링크를 추가한 뒤, path/to/output.pdf 경로에 수정된 PDF 파일을 저장하는 과정을 보여줍니다.

결론

이렇게 Java Apache PDFBox를 사용하여 PDF 파일에 링크를 추가할 수 있습니다. PDFBox는 기능이 풍부하고 사용하기 쉬우며, 다양한 PDF 편집 작업을 수행할 수 있는 강력한 라이브러리입니다.

더 많은 정보를 원하신다면, Apache PDFBox 문서를 참조해주세요.