PDF 파일에 벡터 그래픽을 추가하는 것은 보고서, 청구서 및 인터랙티브 문서를 생성할 때 일반적인 요구 사항입니다. Conholdate.Total for Java는 서버 측에서 PDF 조작을 단순화하는 강력한 SDK입니다. 이 가이드에서는 Graph 객체를 사용하여 PDF에 사각형, 타원 및 선을 삽입하고, 외관을 구성하며, 성능 고려 사항을 처리하는 방법을 명확한 Java 코드 예제와 함께 배웁니다.

Java에서 PDF에 도형 추가 단계

  1. Maven 리포지토리 및 종속성 추가 - Conholdate Maven 리포지토리와 conholdate-total 종속성을 pom.xml에 포함합니다. 이렇게 하면 Document, Page, Graph와 같은 SDK 클래스들을 사용할 수 있습니다.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. PDF 문서 및 페이지 만들기 - Document 인스턴스를 생성하고 페이지를 페이지 컬렉션에 추가합니다. 해당 클래스는 API reference에 문서화되어 있습니다.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
  1. 도형 객체 만들기 - 먼저 Graph 객체를 만든 다음, 사각형, 타원 또는 선을 인스턴스화하고 해당 shapes 컬렉션에 추가합니다. 각 도형의 GraphInfo를 통해 위치, 크기 및 시각적 속성을 설정합니다.
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Rectangle
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
graph.getShapes().add(rect);

// Ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
graph.getShapes().add(ellipse);

// Line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
graph.getShapes().add(line);
  1. 페이지에 도형 추가 - 개별 도형은 Graph 객체의 도형 컬렉션에 존재합니다. Graph 자체를 페이지의 단락 컬렉션에 추가하면 포함된 모든 도형이 해당 페이지에 렌더링됩니다.
// Add graph object to paragraphs collection of page instance
page.getParagraphs().add(graph);
  1. 업데이트된 PDF 저장 - 그래프(모든 모양이 포함된)가 페이지에 추가된 후, 문서를 새 파일로 저장합니다.
    // Save PDF file
    doc.save("Shapes.pdf");
    

Java에서 PDF에 도형 추가 - 전체 코드 예제

다음 예제는 모든 단계를 하나의 실행 준비가 된 프로그램으로 결합합니다.

import com.aspose.pdf.Document;
import com.aspose.pdf.Color;

public class AddShapesDemo {
    public static void main(String[] args) throws Exception {
        // Create Document instance
        Document doc = new Document();
        // Add page to pages collection of PDF file
        com.aspose.pdf.Page page = doc.getPages().add();

// Create Graph instance
        com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Create Rectangle instance
        com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
        // Add rectangle object to shapes collection of Graph object
        graph.getShapes().add(rect);

// Create ellipse
        com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
        ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
        ellipse.getGraphInfo().setLineWidth(1.5f);
        // Add ellipse object to shapes collection of Graph object
        graph.getShapes().add(ellipse);

// Create line
        com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
        line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
        line.getGraphInfo().setLineWidth(3);
        // Add line object to shapes collection of Graph object
        graph.getShapes().add(line);

// Add graph object to paragraphs collection of page instance
        page.getParagraphs().add(graph);

// Save PDF file
        doc.save("Shapes.pdf");
    }
}

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 출력 파일 경로(Shapes.pdf)를 실제 대상 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 뒤 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

Java에서 설치 및 설정

Conholdate.Total for Java를 사용하려면, 공식 사이트에서 최신 릴리스를 다운로드하고 앞에서 보여준 Maven 종속성을 추가하십시오. SDK는 Java 8+ 런타임에서 작동하며 추가 네이티브 라이브러리가 필요하지 않습니다.

주요 기능 및 개요

Java에서 Conholdate.Total로 PDF에 도형 추가

Conholdate.Total for Java는 PDF 콘텐츠를 생성하고 편집하기 위한 통합 API를 제공합니다. 도형 그리기 기능은 Graph 객체와 그 도형 컬렉션을 통해 벡터 그래픽으로 작동하여 추가된 요소가 어떤 확대 수준에서도 선명하게 유지됩니다. 기본 기본 도형(사각형, 타원, 선)을 그릴 수 있으며, 여러 도형을 단일 Graph 안에 결합한 후 페이지에 배치할 수 있습니다.

Conholdate.Total 이 작업에 중요한 기능

  • 크로스‑플랫폼 호환성: Windows, Linux 및 macOS 서버에서 작동합니다.
  • 고성능 렌더링: 도형은 네이티브 PDF 콘텐츠를 생성하는 동일한 엔진을 사용하여 렌더링되며, 래스터화가 발생하지 않습니다.
  • 외관에 대한 완전한 제어: 각 도형의 스트로크 색상과 선 두께를 GraphInfo 객체를 통해 설정합니다.
  • 그룹화된 그래픽: 여러 도형을 단일 Graph 객체에 추가하여 페이지에서 함께 위치 지정 및 관리할 수 있습니다.

최적 렌더링을 위한 도형 속성 구성

도형을 추가할 때, 원하는 시각적 결과를 얻기 위해 다음 속성을 고려하십시오:

  • 위치 및 크기: Shape 생성자는 좌표와 크기를 포인트 단위로 받으며, 예를 들어 new Rectangle(100, 100, 170, 120) 또는 new Ellipse(300, 150, 150, 100)와 같습니다.
  • 그래프 배치: Graph 객체 자체는 new Graph(width, height) 로 위치를 지정하고 page.getParagraphs().add(graph) 를 통해 페이지에 추가합니다.
  • 색상: com.aspose.pdf.Color 클래스를 사용합니다(예: Color.getGreen() 또는 Color.getRed()). 그리고 shape.getGraphInfo().setColor(...) 로 도형에 색상을 설정합니다.
  • 선 두께: shape.getGraphInfo().setLineWidth(...) 로 설정하며, 단위는 포인트입니다; 값 1은 1/72 인치에 해당합니다.
  • 선: Line 도형은 좌표 배열을 사용해 생성합니다. 예를 들어 new Line(new float[]{100, 300, 400, 300}) 은 선의 시작점과 끝점을 나타냅니다.

도형 모양 설정 예시:

ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);

PDF에 도형을 추가할 때 성능 고려 사항

많은 벡터 객체를 추가하면 처리 시간과 메모리 사용량이 증가할 수 있습니다. 다음 지침을 따르세요:

  • 배치 그리기: 관련된 도형들을 하나의 Graph 객체로 그룹화한 후 페이지에 추가합니다.
  • 객체 재사용: 여러 페이지에 동일한 도형이 필요할 경우, 복제하는 대신 도형 구성 로직을 재사용합니다.
  • 과도한 스케일링 방지: 비용이 많이 드는 래스터 변환을 방지하려면 최종 표시 크기로 도형을 정의합니다.
  • 리소스 해제: 모든 도형을 추가한 후 Document를 즉시 저장하고 해제합니다.

결론

Conholdate.Total for Java은 Java 개발자에게 PDF 문서에 도형을 추가하는 간단한 방법을 제공하여 풍부하고 인터랙티브한 보고서 및 인보이스를 만들 수 있게 합니다. 이 가이드의 단계, 구성 팁 및 성능 지침을 따르면 PDF 워크플로에 벡터 그래픽을 자신 있게 통합할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 확보하는 것을 기억하세요; 평가용 임시 라이선스를 제공하며, 전체 가격 세부 정보는 가격 페이지에 나와 있습니다.

자주 묻는 질문

모든 도형마다 Graph 객체를 생성해야 하나요?
아니요. 단일 Graph 객체는 여러 도형을 보유할 수 있습니다 — 사각형, 타원 및 선을 모두 같은 그래프의 도형 컬렉션에 추가한 후 그래프를 페이지에 추가할 수 있습니다.

다중 페이지 PDF의 특정 페이지에 도형을 추가할 수 있나요?
예. doc.getPages()에서 대상 페이지를 가져온 다음 해당 Page 인스턴스에서 page.getParagraphs().add(graph)를 호출합니다.

도형을 추가한 후 어떤 파일 형식으로 내보낼 수 있나요?
Conholdate.Total for Java의 Document.save() 메서드는 PDF는 물론 SDK에서 지원하는 다른 형식으로도 저장할 수 있습니다. doc.save("Shapes.pdf")를 사용하여 결과를 표준 PDF 파일로 저장합니다.