Java의 PowerPoint에서 SmartArt 추가, 조작 및 삭제

18036 단어 powerpointsmartartjava
SmartArt는 정보를 시각적으로 표현한 것입니다. MS PowerPoint에서 다양한 레이아웃 유형의 SmartArt 그래픽을 만들어 아이디어를 표현할 수 있습니다. 이 기사에서는 Free Spire.Presentation for Java API를 사용하여 Java에서 프로그래밍 방식으로 PowerPoint 문서에서 SmartArt를 추가, 조작 및 삭제하는 방법을 보여줍니다.

종속성 추가



우선 Free Spire.Presentation for Java를 Java 프로젝트에 포함하는 데 필요한 종속성을 추가해야 합니다. 두 가지 방법이 있습니다.
maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가해야 합니다.

<repositories>  
        <repository>  
            <id>com.e-iceblue</id>  
            <name>e-iceblue</name>  
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>  
        </repository>  
</repositories>  
<dependencies>  
    <dependency>  
        <groupId>e-iceblue</groupId>  
        <artifactId>spire.presentation.free</artifactId>  
        <version>2.6.1</version>  
    </dependency>  
</dependencies>

Maven이 아닌 프로젝트의 경우 this website에서 무료 Spire.Presentation for Java 팩을 다운로드하고 패키지의 압축을 풀고 lib 폴더의 Spire.Presentation.jar을 종속 항목으로 프로젝트에 추가합니다.

SmartArt 추가



무료 Spire.Presentation for Java API는 PowerPoint 슬라이드에 SmartArt를 추가하기 위한 ShapeList.appendSmartArt 메서드를 제공합니다. 다음 예제에서는 지정된 레이아웃 유형의 SmartArt를 PowerPoint 문서에 추가하는 방법을 보여줍니다.

import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.diagrams.ISmartArt;
import com.spire.presentation.diagrams.SmartArtColorType;
import com.spire.presentation.diagrams.SmartArtLayoutType;
import com.spire.presentation.diagrams.SmartArtStyleType;

public class AddSmartArt {
    public static void main(String[] args) throws Exception {
        //Create a Presentation instance
        Presentation ppt = new Presentation();
        //Get the first slide
        ISlide slide = ppt.getSlides().get(0);

        //Add a SmartArt of a specified layout type to the slide
        ISmartArt smartArt = slide.getShapes().appendSmartArt(100,100, 400, 400, SmartArtLayoutType.BASIC_BLOCK_LIST);
        //Set the shape style of SmartArt
        smartArt.setStyle(SmartArtStyleType.CARTOON);
        //Set the color type of SmartArt
        smartArt.setColorStyle(SmartArtColorType.COLORFUL_ACCENT_COLORS);

        //Set text for the nodes in the SmartArt
        smartArt.getNodes().get(0).getTextFrame().setText("My SmartArt_1");
        smartArt.getNodes().get(1).getTextFrame().setText("My SmartArt_2");
        smartArt.getNodes().get(2).getTextFrame().setText("My SmartArt_3");
        smartArt.getNodes().get(3).getTextFrame().setText("My SmartArt_4");
        smartArt.getNodes().get(4).getTextFrame().setText("My SmartArt_5");

        //Save the result document
        ppt.saveToFile("AddSmartArt.pptx", FileFormat.PPTX_2013);
    }
}



SmartArt 조작



기존 SmartArt에 액세스하여 일련의 조작(예: 노드 추가/삭제, 텍스트 편집/추출, 색상 스타일/도형 스타일 변경 등)을 수행할 수 있습니다. SmartArt의 LayoutType은 그대로 변경할 수 없습니다. 읽기 전용이며 SmartArt 도형이 추가된 경우에만 설정됩니다.

다음 예제에서는 ISmartArtNodeCollection.removeNode 메서드를 사용하여 기존 SmartArt에서 노드를 삭제하는 방법을 보여줍니다.

import com.spire.presentation.FileFormat;
import com.spire.presentation.IShape;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.diagrams.ISmartArt;

public class ManipulateSmartArt {
    public static void main(String[] args) throws Exception {
        //Create a Presentation instance
        Presentation ppt = new Presentation();
        //Load a PowerPoint document
        ppt.loadFromFile("AddSmartArt.pptx");

        //Get the first slide
        ISlide slide = ppt.getSlides().get(0);

        //Loop through the shapes on the slide
        for (Object shapeObj: slide.getShapes()) {
            IShape shape = (IShape)shapeObj;
            //Detect if the shape is SmartArt
            if(shape instanceof ISmartArt){
                ISmartArt smartArt = (ISmartArt)shape;
                //Remove the fifth node from the SmartArt
                smartArt.getNodes().removeNode(4);
                //do some other manipulations...
            }
        }

        //Save the result document
        ppt.saveToFile("ManipulateSmartArt.pptx", FileFormat.PPTX_2013);
    }
}



SmartArt 삭제



다음 예제에서는 ShapeList.remove 메서드를 사용하여 PowerPoint 슬라이드에서 모든 SmartArt 도형을 제거하는 방법을 보여 줍니다.

import com.spire.presentation.FileFormat;
import com.spire.presentation.IShape;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.diagrams.ISmartArt;

public class DeleteSmartArt {
    public static void main(String[] args) throws Exception {
        //Create a Presentation instance
        Presentation ppt = new Presentation();
        //Load a PowerPoint document
        ppt.loadFromFile("AddSmartArt.pptx");

        //Get the first slide
        ISlide slide = ppt.getSlides().get(0);

        //Loop through the shapes on the slide
        for(int i = slide.getShapes().getCount()-1; i>=0; i--){
            IShape shape = slide.getShapes().get(i);
            //Detect if the shape is SmartArt
            if(shape instanceof  ISmartArt){
            //Remove the SmartArt
            slide.getShapes().remove(shape);
            }
        }

        //Save the result document
        ppt.saveToFile("DeleteSmartArt.pptx", FileFormat.PPTX_2013);
    }
}

좋은 웹페이지 즐겨찾기