Java에서 주석 작업하는 방법

Java에서 주석 작업하는 방법

이 가이드는 Java용 Aspose.PDF FOSS를 사용하여 PDF 주석을 생성, 개수 파악, 제거 및 플래튼하는 방법을 보여줍니다. 위젯, 자유 텍스트, 강조 주석을 추가하는 방법과 대량 작업을 위해 PdfAnnotationEditor를 사용하는 방법을 배울 수 있습니다.

위젯 주석 추가

WidgetAnnotation은(는) 폼 컨트롤 위젯을 나타냅니다. AppearanceCharacteristics을(를) 사용하여 테두리 색상과 캡션을 설정하십시오. 주석을 구성한 후 페이지의 주석 컬렉션에 추가하고 문서를 저장합니다:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(50, 50, 150, 80));
    w.getCharacteristics().setBorder(Color.fromRgb(0, 0, 1));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("widget.pdf");
}

자유 텍스트 주석 추가

FreeTextAnnotation은(는) 페이지의 특정 위치에 텍스트 댓글을 표시합니다. 기본 외관은 주석 텍스트의 글꼴, 크기 및 색상을 정의합니다:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    DefaultAppearance da = new DefaultAppearance("Helv", 12, Color.BLACK);
    FreeTextAnnotation fta = new FreeTextAnnotation(page,
        new Rectangle(100, 300, 350, 350), da);
    fta.setContents("Review this section carefully.");
    page.getAnnotations().add(fta);
    doc.save("freetext.pdf");
}

강조 주석 추가

HighlightAnnotation은 페이지의 텍스트 영역을 시각적으로 표시합니다. 강조할 텍스트를 덮는 Rectangle을 사용해 위치를 지정한 후, 주석 컬렉션에 추가하십시오:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    HighlightAnnotation h = new HighlightAnnotation(page,
        new Rectangle(100, 200, 400, 220));
    page.getAnnotations().add(h);
    doc.save("highlighted.pdf");
}

페이지에서 주석 수 세기

페이지의 주석 컬렉션에 직접 접근하여 주석을 세거나 반복합니다:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    int count = page.getAnnotations().size();
    System.out.println("Annotations on page 1: " + count);
}

유형별 주석 제거

PdfAnnotationEditor을 사용하여 문서에서 특정 유형의 모든 주석을 제거합니다. 주석 유형 이름을 인자로 deleteAnnotations(type)을 호출한 뒤 저장하십시오:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteAnnotations("Highlight");
    editor.save("output.pdf");
}

주석 평탄화

주석을 평탄화하면 주석이 페이지 내용에 영구적으로 병합되어 별도의 객체로서 편집하거나 제거할 수 없게 됩니다:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

참조

 한국어