PDF 파일에 텍스트 주석을 추가하여 문서에 작성된 내용을 요약하고 중요 사항 및 기타 세부 사항을 기록합니다. 그러나 문서의 아무 곳에나 텍스트 주석을 추가할 수 있으며, 한 번 생성되면 팝업으로 표시되고 닫힐 때는 아이콘으로 표시됩니다. 이 블로그 게시물에서는 PDF용 Java API를 사용하여 PDF 파일에 주석을 추가하는 방법을 배웁니다. 또한 프로그래밍 방식으로 파일에 텍스트 주석을 추가하는 데 도움이 되는 방법을 살펴봅니다.
이 가이드에서는 다음 사항을 다룹니다.
PDF용 Java API - 설치
이 라이브러리의 설치 절차는 단 한 단계입니다. API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<classifier>jdk17</classifier>
</dependency>
PDF에 주석을 추가하는 방법
이제 이 PDF 라이브러리의 방법을 활용하여 프로그래밍 방식으로 PDF 파일에 텍스트 주석 추가를 구현할 수 있습니다.
코드 스니펫과 아래에 언급된 단계를 따르세요.
- Document 클래스의 인스턴스를 생성하고 소스 PDF 파일을 로드합니다.
- getItem 메서드를 호출하여 인덱스별로 페이지를 가져옵니다.
- 사각형을 나타내는 Rectangle 클래스의 객체를 초기화합니다.
- TextAnnotation 클래스의 객체를 생성하여 지정된 페이지에 새 텍스트 주석을 생성합니다.
- setTitle 메소드는 주석의 제목 표시줄에 표시될 텍스트를 설정합니다.
- setSubject 메서드는 개체의 설명을 나타내는 텍스트를 설정합니다.
- setContents 메소드는 주석 텍스트를 설정합니다.
- textAnnotation 객체로 Border 객체의 생성자를 인스턴스화합니다.
- setWidth 및 setDash 메서드를 호출하여 테두리 및 대시 패턴의 너비를 설정합니다.
- 컬렉션에 주석을 추가하는 add 메서드를 호출합니다.
- save 메소드는 주석 파일을 저장합니다.
다음 코드를 복사하여 기본 파일에 붙여넣습니다.
// Document 클래스의 인스턴스를 생성하고 소스 PDF 파일을 로드합니다.
Document document = new Document( "table.pdf");
// get_Item 메서드를 호출하여 인덱스별로 페이지 가져오기
Page page = document.getPages().get_Item(1);
// 사각형을 나타내는 Rectangle 클래스의 객체를 초기화합니다.
Rectangle rect = new Rectangle(200, 750, 400, 790);
// TextAnnotation 클래스의 객체를 생성하여 지정된 페이지에 새 Text 주석을 생성합니다.
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// setTitle 메소드는 주석의 제목 표시줄에 표시될 텍스트를 설정합니다.
textAnnotation.setTitle("Aspose User");
// setSubject 메소드는 객체의 설명을 나타내는 텍스트를 설정합니다.
textAnnotation.setSubject("Sample Subject");
// setContents 메소드는 주석 텍스트를 설정합니다.
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// textAnnotation 개체를 사용하여 테두리 개체의 생성자를 인스턴스화합니다.
Border border = new Border(textAnnotation);
// setWidth 및 setDash 메서드를 호출하여 테두리 및 대시 패턴의 너비를 설정합니다.
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// 컬렉션에 주석을 추가하는 add 메서드를 호출합니다.
page.getAnnotations().add(textAnnotation);
// save 메소드는 주석 파일을 저장합니다.
document.save( "sample_textannot.pdf");
아래 이미지에서 출력을 볼 수 있습니다.
텍스트 주석 읽기
마찬가지로 아래에 언급된 단계에 따라 기존 PDF 파일에서 텍스트 주석을 읽을 수 있습니다.
- Document 클래스의 인스턴스를 만들고 원본 PDF 파일을 로드합니다.
- getItem 메서드를 호출하여 인덱스별로 페이지를 가져옵니다.
- AnnotationSelector를 사용하여 주석을 필터링합니다.
- accept 메서드를 호출하여 주석을 처리하는 방문자를 수락합니다.
- getSelected 메소드를 호출하여 선택된 Annotation 객체의 목록을 가져옵니다.
- 결과를 인쇄합니다.
다음 코드를 복사하여 기본 파일에 붙여넣습니다.
// Document 클래스의 인스턴스를 만들고 소스 PDF 파일을 로드합니다.
Document document = new Document( "sample_textannot.pdf");
// get_Item 메서드를 호출하여 다음을 호출하여 인덱스별로 페이지를 가져옵니다.
Page page = document.getPages().get_Item(1);
// AnnotationSelector를 사용하여 주석 필터링
AnnotationSelector annotationSelector = new AnnotationSelector(
new TextAnnotation(page, Rectangle.getTrivial()));
// 어노테이션을 처리하기 위해 방문자를 승인하려면 accept 메소드를 호출하십시오.
page.accept(annotationSelector);
// getSelected 메소드를 호출하여 선택된 Annotation 객체의 목록을 가져옵니다.
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// 결과를 인쇄
for (Annotation fa : TextAnnotations) {
System.out.println(fa.getRect());
}
텍스트 주석 삭제
또한 다음 단계와 코드 조각에 따라 프로그래밍 방식으로 텍스트 주석을 삭제할 수 있습니다.
- Document 클래스의 개체를 만들고 원본 PDF 파일을 로드합니다.
- AnnotationSelector를 사용하여 주석을 필터링합니다.
- accept 메서드를 호출하여 주석을 처리할 방문자를 수락합니다.
- getSelected 메소드를 호출하여 선택된 Annotation 객체의 목록을 가져옵니다.
- delete 메서드를 호출하여 모든 텍스트 주석을 반복하고 주석을 삭제합니다.
- save 메서드를 호출하여 파일을 저장합니다.
다음 코드를 복사하여 기본 파일에 붙여넣습니다.
// Document 클래스의 개체를 만들고 원본 PDF 파일을 로드합니다.
Document document = new Document( "sample_textannot.pdf");
// AnnotationSelector를 사용하여 주석 필터링
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
new TextAnnotation(page, Rectangle.getTrivial()));
// accept 메소드를 호출하여 방문자가 주석을 처리하도록 허용합니다.
page.accept(annotationSelector);
// getSelected 메소드를 호출하여 선택된 Annotation 객체의 목록을 가져옵니다.
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// 모든 텍스트 주석을 통해 루프
for (Annotation fa : TextAnnotations) {
// delete 메소드를 호출하여 주석 삭제
}
// save 메소드를 호출하여 파일 저장
document.save ( "sample_textannot_del.pdf");
무료 라이선스 받기
무료 임시 라이선스를 사용하여 평가 제한 없이 API를 사용해 볼 수 있습니다.
합산
이것으로 이 블로그 포스트를 마칩니다. 프로그래밍 방식으로 PDF 파일에 주석을 추가하는 방법을 살펴보았습니다. 또한 이 PDF용 Java API를 사용하여 기존 PDF 문서에서 텍스트 주석을 읽고 삭제하는 방법도 배웠습니다. 또한 API 방법에 대한 추가 탐색을 위해 문서를 방문할 수 있습니다.
또한 시작하기 가이드를 따르는 것이 좋습니다.
마지막으로 conholdate.com이 새 블로그 게시물을 작성하고 있습니다. 따라서 정기적인 업데이트를 위해 연락을 유지하십시오.
질문하기
포럼에서 질문이나 질문에 대해 알려주실 수 있습니다.
자주 묻는 질문
PDF에 무료로 주석을 달 수 있습니까?
이 링크를 방문하여 PDF용 Java API에 의해 노출된 코드 스니펫 및 API 메소드를 확인하십시오.