[java] Apache PDFBox를 이용한 텍스트 색상 변경

Apache PDFBox는 Java로 PDF 문서를 다룰 수 있는 라이브러리입니다. 이 라이브러리를 사용하면 PDF 문서의 내용을 수정하거나 추가하는 작업을 쉽게 할 수 있습니다. 이번에는 Apache PDFBox를 사용하여 PDF 문서의 텍스트 색상을 변경하는 방법에 대해 알아보겠습니다.

Apache PDFBox 추가

먼저 Maven을 사용하여 Apache PDFBox를 프로젝트에 추가해야 합니다. 다음과 같이 Maven dependency를 추가하세요.

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

의존성을 추가한 뒤에는 Maven 프로젝트를 업데이트하여 라이브러리를 다운로드받아야 합니다.

텍스트 색상 변경하기

이제 Apache PDFBox를 사용하여 PDF 문서의 텍스트 색상을 변경해보겠습니다. 아래의 예제 코드를 참고하시기 바랍니다.

import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class TextColorChanger {
    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load(new File("input.pdf"));
            PDPage page = document.getPage(0);
            PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
            contentStream.setNonStrokingColor(255, 0, 0); // RGB 값을 사용하여 색상 설정
            contentStream.beginText();
            contentStream.newLineAtOffset(100, 700);
            contentStream.showText("색상이 변경된 텍스트");
            contentStream.endText();
            contentStream.close();
            document.save("output.pdf");
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드는 input.pdf 파일의 첫 번째 페이지에 색상이 변경된 “색상이 변경된 텍스트”를 추가한 뒤, output.pdf로 저장하는 예제입니다.

마무리

이렇게 Apache PDFBox를 사용하여 PDF 문서의 텍스트 색상을 변경할 수 있습니다. 원하는 위치에 원하는 색상의 텍스트를 추가하려면 필요한 메서드를 사용하여 쉽게 구현할 수 있습니다.

참고문헌: