GroupDocs.Annotation for Java를 사용한 주석이 달린 PDF 저장

문서 주석 기능을 Java 애플리케이션에 추가하면 협업, 규정 준수 및 사용자 경험을 크게 향상시킬 수 있습니다. 이 가이드에서는 GroupDocs.Annotation for Java를 사용하여 how to save annotated PDF 파일을 저장하는 방법을 Maven 의존성 설정부터 다중 주석 추가 및 Java 주석 모범 사례 적용까지 배웁니다. 각 단계를 차근차근 살펴보면서 프로젝트에 이 기능을 자신 있게 통합할 수 있습니다.

빠른 답변

  • GroupDocs.Annotation의 주요 목적은 무엇인가요?
    Java 애플리케이션에서 프로그래밍 방식으로 주석이 달린 PDF 문서를 생성, 편집 및 save annotated PDF 합니다.
  • 필요한 Maven 아티팩트는 무엇인가요?
    com.groupdocs:groupdocs-annotation (maven dependency groupdocs 섹션을 참고하세요).
  • 한 번에 여러 주석을 추가할 수 있나요?
    예 – 한 번의 작업으로 add multiple annotations 할 수 있습니다.
  • Annotator를 어떻게 초기화하나요?
    튜토리얼에 표시된 initialize annotator java 패턴을 사용합니다.
  • 핵심 모범 사례 팁은 무엇인가요?
    메모리 관리와 성능을 위해 annotation best practices java 체크리스트를 따르세요.

“save annotated PDF”란 무엇인가요?

주석이 달린 PDF를 저장한다는 것은 하이라이트, 댓글, 도형 및 기타 마크업과 같은 모든 시각적 메모를 PDF 파일에 영구 저장하여 문서를 여는 모든 사람이 변경 사항을 볼 수 있게 하는 것을 의미합니다. GroupDocs.Annotation은 이 작업을 프로그래밍 방식으로 수행할 수 있는 간단한 API를 제공합니다.

Java용 GroupDocs.Annotation을 사용해야 하는 이유

  • Cross‑platform support – Java가 실행되는 모든 OS에서 작동합니다.
  • Rich annotation types – 간단한 하이라이트부터 타원과 같은 복잡한 도형까지 지원합니다.
  • No external PDF editors required – 모든 작업이 Java 코드 내부에서 이루어집니다.
  • Scalable for enterprise – 법률, 교육 및 기술 문서 워크플로에 적합합니다.

전제 조건

  • Java SDK (JDK 8 이상) 가 설치되어 있어야 합니다.
  • Maven 을 사용해 의존성을 관리합니다.
  • IntelliJ IDEA 또는 Eclipse 와 같은 IDE를 사용합니다.
  • 기본적인 Java 프로그래밍 지식이 필요합니다.

Maven dependency GroupDocs

pom.xml에 GroupDocs 저장소와 주석 라이브러리를 추가합니다:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/annotation/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-annotation</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

라이선스 획득

  1. Free Trial: GroupDocs.Annotation을 테스트하기 위해 체험 버전을 다운로드합니다.
  2. Temporary License: 평가 기간 동안 전체 기능을 사용하기 위한 임시 라이선스를 획득합니다.
  3. Purchase: 프로덕션 사용을 위한 정식 라이선스를 구매합니다.

Initialize Annotator Java

첫 번째 단계는 작업할 문서와 함께 initialize annotator java 하는 것입니다. 아래는 기본 초기화 패턴입니다:

import com.groupdocs.annotation.Annotator;

public class Feature1 {
    public void loadAnnotator(String fileName) {
        try (final Annotator annotator = new Annotator(fileName)) {
            // Ready to use!
        }
    }
}

Feature 1: Loading and Initializing Annotator

이 기능은 문서 파일 경로를 사용해 Annotator를 초기화하고, Java 애플리케이션을 주석 작업에 설정하는 방법을 보여줍니다.

import com.groupdocs.annotation.Annotator;

public class Feature1 {
    public void loadAnnotator(String fileName) {
        try (final Annotator annotator = new Annotator(fileName)) {
            // Annotator initialized and ready.
        }
    }
}

주석 만들기

Feature 2: Creating Area Annotation

Area 주석을 사용하면 직사각형 영역을 강조할 수 있습니다. 다음 단계에 따라 하나를 생성하세요:

import com.groupdocs.annotation.models.Rectangle;
import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation;

public class Feature2 {
    public AreaAnnotation createAreaAnnotation() {
        AreaAnnotation area = new AreaAnnotation();
        area.setBox(new Rectangle(100, 100, 100, 100));
        area.setBackgroundColor(65535);
        area.setPageNumber(1);

        return area;
    }
}

Feature 3: Creating Ellipse Annotation

Ellipse 주석은 원형 또는 타원형 강조에 적합합니다.

import com.groupdocs.annotation.models.Rectangle;
import com.groupdocs.annotation.models.annotationmodels.EllipseAnnotation;

public class Feature3 {
    public EllipseAnnotation createEllipseAnnotation() {
        EllipseAnnotation ellipse = new EllipseAnnotation();
        ellipse.setBox(new Rectangle(100, 100, 100, 100));
        ellipse.setBackgroundColor(123456);
        ellipse.setPageNumber(2);

        return ellipse;
    }
}

다중 주석 추가

한 번의 호출로 add multiple annotations 할 수 있어 성능이 향상되고 코드가 깔끔해집니다.

import com.groupdocs.annotation.Annotator;
import java.util.ArrayList;
import java.util.List;
import com.groupdocs.annotation.models.AnnotationBase;
import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation;
import com.groupdocs.annotation.models.annotationmodels.EllipseAnnotation;

public class Feature4 {
    public void addAnnotations(Annotator annotator) {
        AreaAnnotation area = new AreaAnnotation();
        area.setBox(new Rectangle(100, 100, 100, 100));
        area.setBackgroundColor(65535);
        area.setPageNumber(1);

        EllipseAnnotation ellipse = new EllipseAnnotation();
        ellipse.setBox(new Rectangle(100, 100, 100, 100));
        ellipse.setBackgroundColor(123456);
        ellipse.setPageNumber(2);

        List<AnnotationBase> annotations = new ArrayList<>();
        annotations.add(area);
        annotations.add(ellipse);

        annotator.add(annotations);
    }
}

문서 저장 – How to Save Annotated PDF

이제 주석이 준비되었으니, 원하는 주석 유형만 포함하여 save annotated PDF 합니다.

public class Feature5 {
    public String getOutputPath(String fileName) {
        return "YOUR_OUTPUT_DIRECTORY" + "/filtered_output.pdf";
    public void saveAnnotatedDocument(Annotator annotator, String outputPath) {
        SaveOptions saveOptions = new SaveOptions();
        saveOptions.setAnnotationTypes(AnnotationType.ELLIPSE);

        annotator.save(outputPath, saveOptions);
    }
}

Annotation Best Practices Java

  • Use try‑with‑resources 를 사용해 Annotator 를 자동으로 닫고 메모리를 해제합니다.
  • Batch add annotations (Feature 4에 표시된 대로) 를 사용해 I/O 오버헤드를 줄입니다.
  • SaveOptionsSpecify only needed annotation types 만 지정해 파일 크기를 최소화합니다.
  • 저장 후 Release large documents 를 메모리에서 해제해 누수를 방지합니다.

실용적인 적용 사례

  • Legal Document Review: 조항을 강조하고 변호사를 위해 댓글을 첨부합니다.
  • Educational Resources: 학습 그룹을 위해 교과서를 주석 처리합니다.
  • Technical Manuals: 엔지니어링 도면에 메모와 경고를 표시합니다.

성능 고려 사항

  • 매우 큰 PDF에서 동시에 주석을 많이 달지 않도록 제한합니다.
  • 메모리를 효율적으로 관리하려면 권장되는 annotation best practices java 를 사용합니다.
  • 성능 저하가 감지되면 Java Flight Recorder 로 애플리케이션을 프로파일링합니다.

일반적인 문제 및 해결책

IssueSolution
OutOfMemoryError when loading big PDFs스트리밍 모드로 문서를 로드하거나 JVM 힙 크기를 늘립니다.
Annotations not appearing after saveSaveOptions 에 올바른 AnnotationType 이 포함되어 있는지 확인합니다.
License errors체험판 또는 정식 라이선스 파일이 올바르게 참조되고 있는지 확인합니다.

자주 묻는 질문

Q: Can I add text comments in addition to shapes?
A: 예, GroupDocs.Annotation은 TextAnnotationCommentAnnotation 유형을 지원합니다—해당 모델을 인스턴스화하고 리스트에 추가하면 됩니다.

Q: Is it possible to edit an existing annotation?
A: 물론입니다. 주석 ID 로 주석을 조회하고 속성을 수정한 뒤 annotator.update(updatedAnnotation) 을 호출합니다.

Q: How do I remove an annotation I no longer need?
A: annotator.delete(annotationId) 로 특정 주석을 삭제하거나 annotator.clear(pageNumber) 로 해당 페이지의 모든 주석을 삭제합니다.

Q: Does the library work with password‑protected PDFs?
A: 예. Annotator 인스턴스를 생성할 때 비밀번호를 제공하면 됩니다: new Annotator(filePath, password).

Q: What version of Java is required?
A: 이 라이브러리는 Java 8 이상과 호환됩니다; 최상의 성능을 위해 최신 LTS 버전을 사용하는 것을 권장합니다.

결론

이제 GroupDocs.Annotation for Java를 사용해 saving annotated PDF 파일을 위한 완전한 엔드‑투‑엔드 솔루션을 갖추었습니다. 위 단계—Maven 의존성 설정, Annotator 초기화, 다중 주석 생성 및 추가, 그리고 주석 모범 사례 적용—를 따라 하면 어떤 Java 애플리케이션에도 강력한 문서 마크업 기능을 손쉽게 추가할 수 있습니다.


마지막 업데이트: 2025-12-17
테스트 대상: GroupDocs.Annotation 25.2
작성자: GroupDocs