Java에서 그리기 도형 추가 방법

Java에서 그리기 도형 추가 방법

이 가이드는 Aspose.PDF FOSS for Java에서 기하학적 도형을 그리는 방법과 페이지 아티팩트 장식을 다루는 방법을 보여줍니다. CircleAnnotation를 추가하여 타원을 그리는 방법, 워터마크 및 헤더 아티팩트를 검사하는 방법, 그리고 아티팩트 객체를 제거하는 방법을 배웁니다.

원 그리기

페이지에 채워진 타원이나 테두리 타원을 그리기 위해 CircleAnnotation를 추가합니다. setColor() 메서드는 주석의 채우기 색상을 설정합니다. 주석을 페이지의 주석 컬렉션에 추가하고 문서를 저장합니다:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    CircleAnnotation circle = new CircleAnnotation(page,
        new Rectangle(100, 100, 200, 200));
    circle.setColor(Color.fromRgb(0, 0, 1));
    page.getAnnotations().add(circle);
    doc.save("circle.pdf");
}

Rectangle 생성자는 PDF 단위(페이지 왼쪽 아래 모서리에서 측정한 포인트)로 (x1, y1, x2, y2)를 받습니다.

페이지 아티팩트 검사

아티팩트는 헤더, 푸터, 워터마크와 같은 콘텐츠가 아닌 장식 요소입니다. 페이지에 존재하는 아티팩트를 반복하여 그 유형과 하위 유형을 검사합니다:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    for (Artifact artifact : page.getArtifacts()) {
        System.out.println(artifact.getArtifactType() + ": " + artifact.getSubtype());
    }
}

워터마크 아티팩트 제거

유형이 “Watermark"인 아티팩트를 찾아 페이지의 아티팩트 컬렉션에서 삭제합니다. 변경을 적용한 후 문서를 저장하세요:

try (Document doc = new Document("watermarked.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    for (Artifact artifact : page.getArtifacts()) {
        if ("Watermark".equals(artifact.getArtifactType())) {
            page.getArtifacts().delete(artifact);
            break;
        }
    }
    doc.save("clean.pdf");
}

페이지 크기 가져오기

도형을 올바르게 배치하려면 먼저 페이지의 미디어 박스 크기를 확인합니다. 표준 A4는 595×842 포인트이며, 표준 US Letter는 612×792 포인트입니다:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    double width = page.getMediaBox().getWidth();
    double height = page.getMediaBox().getHeight();
    System.out.println("Page: " + width + " x " + height + " pt");
}

참조

 한국어