Java 프로그램을 통해 PDF에 책갈피 삽입
PDF의 책갈피 기능은 편리한 탐색 도구로, 사용자가 문서에서 책갈피를 생성하고 관리할 수 있어서 관심 있는 부분으로 빠르게 이동할 수 있습니다. 책갈피를 통해 사용자는 중요한 장, 페이지 또는 특정 내용을 표시하고 필요할 때 이러한 위치로 쉽게 돌아갈 수 있습니다. 아래에서는 Java 프로그램을 사용하여 PDF에 책갈피를 삽입하는 방법을 공유하겠습니다.
필요한 도구
IntelliJ IDEA 2018 (jdk 1.8.0)
준비 작업
다음 링크에서Free Spire.PDF for Java를 다운로드하고 압축을 푸세요.
IDEA에서 새 프로젝트를 만들고 열어주세요.
"File"-"Project Structure"-"Modules"-"Dependencies"을 차례로 클릭합니다.
"JAR or Directories" 아래에 있는 초록색 플러스 기호를 선택합니다.
압축 해제된 lib 폴더에서 "Spire.PDF.jar"를 찾아 해당 파일을 프로젝트에 추가하세요.
예제 코드
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.actions.PdfGoToAction;
import com.spire.pdf.bookmarks.PdfBookmark;
import com.spire.pdf.bookmarks.PdfTextStyle;
import com.spire.pdf.general.PdfDestination;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;
import java.awt.geom.Point2D;
public class addBookmark {
public static void main(String[] args) {
// PdfDocument 클래스 인스턴스 생성
PdfDocument pdf = new PdfDocument();
// PDF 파일 로드
pdf.loadFromFile("sample.pdf");
// PDF 파일의 페이지 반복 처리
for(int i = 0; i < pdf.getPages().getCount(); i++) {
PdfPageBase page = pdf.getPages().get(i);
// 북마크 추가
PdfBookmark bookmark = pdf.getBookmarks().add(String.format("Bookmark-%s", i + 1));
// 목적지 페이지 및 위치 설정
PdfDestination destination = new PdfDestination(page, new Point2D.Float(0, 0));
bookmark.setAction(new PdfGoToAction(destination));
// 텍스트 색상 설정
bookmark.setColor(new PdfRGBColor(new Color(139, 69, 19)));
// 텍스트 스타일 설정
bookmark.setDisplayStyle(PdfTextStyle.Bold);
// 하위 북마크 추가
PdfBookmark childBookmark = bookmark.add(String.format("Sub-Bookmark-%s", i + 1));
// 목적지 페이지 및 위치 설정
PdfDestination childDestination = new PdfDestination(page, new Point2D.Float(0, 100));
childBookmark.setAction(new PdfGoToAction(childDestination));
// 텍스트 색상 설정
childBookmark.setColor(new PdfRGBColor(new Color(255, 127, 80)));
// 텍스트 스타일 설정
childBookmark.setDisplayStyle(PdfTextStyle.Italic);
}
// 결과 파일 저장
pdf.saveToFile("AddBookmarks.pdf");
}
}기타
이 라이브러리는 PDF에 북마크를 추가하는 것 외에도 "첨부 파일 추가" 및 "헤더 및 푸터 추가"를 지원합니다.
