Java를 사용하여 PowerPoint에서 부분 사각형 가져오기
소개
Aspose.Slides for Java를 사용하면 Java로 동적 프레젠테이션을 만드는 것이 매우 쉽습니다. 이 튜토리얼에서는 Aspose.Slides를 사용하여 PowerPoint에서 직사각형 부분을 가져오는 핵심을 살펴보겠습니다. 환경 설정부터 코드 분석까지 단계별로 모든 것을 다룰 것입니다. 자, 시작해 봅시다!
전제 조건
코드를 시작하기 전에 원활하게 따라가는 데 필요한 모든 것이 있는지 확인하겠습니다.
- JDK(Java Development Kit): 컴퓨터에 JDK 8 이상이 설치되어 있는지 확인하세요.
- Java용 Aspose.Slides: 다음에서 최신 버전을 다운로드하세요.여기.
- 통합 개발 환경(IDE): Eclipse, IntelliJ IDEA 또는 원하는 기타 Java IDE.
- Java 기본 지식: Java 프로그래밍에 대한 이해가 필수적입니다.
패키지 가져오기
먼저 필요한 패키지를 가져오겠습니다. 여기에는 작업을 효율적으로 처리하기 위한 Aspose.Slides 및 기타 몇 가지가 포함됩니다.
import com.aspose.slides.*;
import com.aspose.slides.examples.RunExamples;
import java.awt.*;
import java.awt.geom.Rectangle2D;
1단계: 프레젠테이션 설정
첫 번째 단계는 새 프레젠테이션을 만드는 것입니다. 이것이 우리가 작업할 캔버스가 될 것입니다.
Presentation pres = new Presentation();
2단계: 테이블 생성
이제 프레젠테이션의 첫 번째 슬라이드에 표를 추가해 보겠습니다. 이 테이블에는 텍스트를 추가할 셀이 포함됩니다.
ITable tbl = pres.getSlides().get_Item(0).getShapes().addTable(50, 50, new double[]{50, 70}, new double[]{50, 50, 50});
3단계: 셀에 단락 추가
다음으로 단락을 만들어 표의 특정 셀에 추가하겠습니다. 여기에는 기존 텍스트를 지우고 새 단락을 추가하는 작업이 포함됩니다.
// 단락 만들기
IParagraph paragraph0 = new Paragraph();
paragraph0.getPortions().add(new Portion("Text "));
paragraph0.getPortions().add(new Portion("in0"));
paragraph0.getPortions().add(new Portion(" Cell"));
IParagraph paragraph1 = new Paragraph();
paragraph1.setText("On0");
IParagraph paragraph2 = new Paragraph();
paragraph2.getPortions().add(new Portion("Hi there "));
paragraph2.getPortions().add(new Portion("col0"));
// 표 셀에 텍스트 추가
ICell cell = tbl.get_Item(1, 1);
cell.getTextFrame().getParagraphs().clear();
cell.getTextFrame().getParagraphs().add(paragraph0);
cell.getTextFrame().getParagraphs().add(paragraph1);
cell.getTextFrame().getParagraphs().add(paragraph2);
4단계: 도형에 텍스트 프레임 추가
프레젠테이션을 더욱 동적으로 만들기 위해 도형에 텍스트 프레임을 추가하고 정렬을 설정하겠습니다.
IAutoShape autoShape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 400, 100, 60, 120);
autoShape.getTextFrame().setText("Text in shape");
autoShape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().setAlignment(TextAlignment.Left);
5단계: 좌표 계산
테이블 셀의 왼쪽 상단 모서리의 좌표를 가져와야 합니다. 이렇게 하면 모양을 정확하게 배치하는 데 도움이 됩니다.
double x = tbl.getX() + cell.getOffsetX();
double y = tbl.getY() + cell.getOffsetY();
6단계: 단락 및 부분에 프레임 추가
사용하여IParagraph.getRect()
그리고IPortion.getRect()
메서드를 사용하면 단락과 부분에 프레임을 추가할 수 있습니다. 여기에는 단락과 부분을 반복하고, 주위에 모양을 만들고, 모양을 사용자 정의하는 작업이 포함됩니다.
for (IParagraph para : cell.getTextFrame().getParagraphs()) {
if ("".equals(para.getText())) continue;
Rectangle2D.Float rect = (Rectangle2D.Float) para.getRect().clone();
IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(
ShapeType.Rectangle,
(float) rect.getX() + (float) x,
(float) rect.getY() + (float) y,
(float) rect.getWidth(),
(float) rect.getHeight()
);
shape.getFillFormat().setFillType(FillType.NoFill);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
for (IPortion portion : para.getPortions()) {
if (portion.getText().contains("0")) {
rect = portion.getRect();
shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(
ShapeType.Rectangle,
(float) rect.getX() + (float) x,
(float) rect.getY() + (float) y,
(float) rect.getWidth(),
(float) rect.getHeight()
);
shape.getFillFormat().setFillType(FillType.NoFill);
}
}
}
7단계: 도형 단락에 프레임 추가
마찬가지로 프레젠테이션의 시각적 매력을 향상시키기 위해 AutoShape의 단락에 프레임을 추가하겠습니다.
for (IParagraph para : autoShape.getTextFrame().getParagraphs()) {
Rectangle2D.Float rect = (Rectangle2D.Float) para.getRect().clone();
IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(
ShapeType.Rectangle,
(float) rect.getX() + autoShape.getX(),
(float) rect.getY() + autoShape.getY(),
(float) rect.getWidth(),
(float) rect.getHeight()
);
shape.getFillFormat().setFillType(FillType.NoFill);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
}
8단계: 프레젠테이션 저장
마지막으로 프레젠테이션을 지정된 경로에 저장하겠습니다.
String outPath = "path_to_output_directory";
pres.save(outPath + "GetRect_Out.pptx", SaveFormat.Pptx);
9단계: 정리
리소스를 확보하려면 프레젠테이션 개체를 삭제하는 것이 좋습니다.
if (pres != null) pres.dispose();
결론
축하해요! Aspose.Slides for Java를 사용하여 PowerPoint에서 직사각형 부분을 얻는 방법을 성공적으로 배웠습니다. 이 강력한 라이브러리는 프로그래밍 방식으로 역동적이고 시각적으로 매력적인 프레젠테이션을 만들 수 있는 가능성의 세계를 열어줍니다. Aspose.Slides에 대해 더 자세히 알아보고 프레젠테이션을 더욱 향상시킬 수 있는 더 많은 기능을 살펴보세요.
FAQ
Java용 Aspose.Slides란 무엇입니까?
Aspose.Slides for Java는 개발자가 프로그래밍 방식으로 PowerPoint 프레젠테이션을 생성, 수정 및 조작할 수 있는 강력한 라이브러리입니다.
상용 프로젝트에서 Java용 Aspose.Slides를 사용할 수 있나요?
예, Java용 Aspose.Slides는 상용 프로젝트에서 사용할 수 있습니다. 다음에서 라이센스를 구입할 수 있습니다.여기.
Aspose.Slides for Java에 대한 무료 평가판이 있습니까?
예, 다음에서 무료 평가판을 다운로드할 수 있습니다.여기.
Java용 Aspose.Slides에 대한 설명서는 어디에서 찾을 수 있나요?
문서를 사용할 수 있습니다여기.
Java용 Aspose.Slides에 대한 지원을 어떻게 받을 수 있나요?
Aspose 포럼에서 지원을 받을 수 있습니다.여기.