Java의 PowerPoint에서 SmartArt 추가, 조작 및 삭제
18036 단어 powerpointsmartartjava
종속성 추가
우선 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);
}
}
Reference
이 문제에 관하여(Java의 PowerPoint에서 SmartArt 추가, 조작 및 삭제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eiceblue/add-manipulate-and-delete-smartart-in-powerpoint-in-java-195j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)