[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 문서의 텍스트 색상을 변경할 수 있습니다. 원하는 위치에 원하는 색상의 텍스트를 추가하려면 필요한 메서드를 사용하여 쉽게 구현할 수 있습니다.
참고문헌:
- Apache PDFBox 공식 웹사이트: https://pdfbox.apache.org/
- Apache PDFBox GitHub 저장소: https://github.com/apache/pdfbox