1. 제품
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS - Aspose.Slides Java용 FOSS

Java에서 PowerPoint 프레젠테이션을 생성, 읽기 및 편집하세요 — 무료 및 오픈소스이며 Office 의존성이 필요 없습니다.

PowerPoint 프레젠테이션을 위한 오픈소스 Java 라이브러리

Aspose.Slides FOSS for Java은(는) PowerPoint .pptx 파일 작업을 위한 MIT 라이선스 순수-Java 라이브러리입니다. 단일 Maven 의존성을 추가하고 Microsoft Office 또는 어떤 독점 런타임도 설치하지 않고 즉시 프레젠테이션을 만들고, 읽고, 편집할 수 있습니다.

이 라이브러리는 Presentation, Slide, Shape, TextFrame, Paragraph, 및 Portion을 중심으로 구축된 Presentation API를 노출합니다. 이는 PowerPoint 자체에서 사용하는 개념 모델입니다. 슬라이드를 추가 및 제거하고, AutoShapes, Tables 및 Connectors를 삽입하며, 굵게, 기울임꼴, 글꼴 크기 및 색상으로 문자 수준에서 텍스트를 서식 지정하고, 단색 또는 그라디언트 채우기를 적용하며, 시각 효과(그림자, 글로우, 블러, 반사)를 추가합니다.

Presentation 클래스는 AutoCloseable을 구현하므로, 신뢰할 수 있는 정리를 위해 try-with-resources를 사용하십시오. 로드 중에 알 수 없는 XML 부분은 저장 시 그대로 보존되므로, 라이브러리가 아직 이해하지 못하는 콘텐츠가 라운드‑트리핑 중에 파괴되지 않습니다. 추가 기능 및 지원은 Aspose.Slides for Java enterprise edition을 참조하십시오.

프레젠테이션 및 슬라이드 API

  • PPTX 만들기 및 열기: 새 프레젠테이션을 만들거나 new Presentation() 또는 new Presentation(path)를 통해 기존 .pptx 파일을 열 수 있습니다.
  • 슬라이드 추가 및 제거: 프로그래밍 방식으로 SlideCollection을(를) addClone(), addEmptySlide(), remove(), 및 removeAt()로 관리합니다.
  • AutoShapes: 사각형, 타원, 선 및 기타 ShapeType 기하학을 addAutoShape()을 통해 삽입합니다.
  • Tables and Connectors: 구조화된 테이블 모양과 도형 사이의 연결선을 addConnector()을 통해 추가합니다.
  • 슬라이드 노트: 각 슬라이드의 스피커 노트를 NotesSlideManager을 통해 읽고 쓸 수 있습니다.
  • 스레드형 댓글: getSlideComments()를 사용하여 슬라이드 수준 댓글 스레드에 액세스합니다.

Aspose.Slides FOSS를 사용할 수 있는 곳

  • 보고서 생성: Office 없이 데이터 소스에서 브랜드 슬라이드 데크를 구축합니다.
  • 템플릿 자동화: CI/CD 파이프라인에서 동적 콘텐츠로 PPTX 템플릿을 채웁니다.
  • Content migration: 기존 프레젠테이션을 읽고 슬라이드를 재구성하거나 스타일을 다시 적용합니다.
  • Serverless backends: Docker 컨테이너 또는 Lambda 함수 내에서 PPTX 파일을 처리합니다.
  • 배치 처리: 대규모 슬라이드 데크 라이브러리 전반에 걸쳐 일관된 서식 변경을 적용합니다.

텍스트 서식 및 시각 효과

  • Character-level formatting: 개별 Portion 객체에 굵게, 기울임, 글꼴 크기 및 색상을 적용하려면 getPortionFormat()을(를) 사용하십시오.
  • 단색 및 그라디언트 채우기: 모양 채우기를 단색 또는 다중 정지 선형 그라디언트로 설정하려면 getFillFormat()FillType을 사용하십시오.
  • 그림자 및 광선 효과: 외부 그림자, 광선, 흐림 및 반사를 getEffectFormat()를 통해 모든 모양에 적용합니다.
  • Paragraph alignment: 왼쪽, 가운데, 오른쪽 또는 양쪽 정렬을 각 단락마다 getParagraphFormat().setAlignment()를 사용하여 설정합니다.
  • Round-trip safe: 알 수 없는 XML 부분은 재저장 시 그대로 보존됩니다.

개발자 경험

Aspose.Slides FOSS는 단일 Maven 의존성 (org.aspose.slides.foss:aspose-slides-foss)으로 설치됩니다. 이 라이브러리는 순수 Java이며, 컴파일할 네이티브 확장이나 설치할 시스템 패키지가 없습니다.

API는 PowerPoint 자체 객체 모델(Presentation, Slide, Shape, TextFrame, Paragraph, Portion)을 그대로 반영하므로 PowerPoint 객체 모델에 익숙한 사람은 즉시 라이브러리를 사용할 수 있습니다. 이 라이브러리는 MIT-licensed이며 GitHub에서 오픈 소스로 제공되고, JDK 21 이상이 필요합니다.

프레젠테이션을 만들고 도형을 추가합니다

try-with-resources를 사용하여 Presentation가 항상 닫히고 리소스가 해제되도록 하세요. addAutoShape()ShapeType 열거형을 받고, 그 다음에 x/y 위치와 포인트 단위의 너비/높이를 받습니다. addTextFrame()를 호출하여 텍스트 프레임을 만들고 한 번에 초기 텍스트를 설정하세요 — addTextFrame()이 생성되기 전까지는 프레임이 null이므로 getTextFrame()을 호출하지 마세요.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

텍스트 서식 지정 및 채우기 효과 적용

텍스트 서식은 Portion 수준에서 작동합니다 — 문자 연속의 가장 작은 단위입니다. 저장된 파일을 열고, 첫 번째 단락의 첫 번째 부분으로 이동한 다음, getter와 setter를 통해 글꼴 속성을 설정합니다. 도형 채우기는 독립적입니다: FillTypeSOLID으로 설정하고 getSolidFillColor().setColor()를 통해 색상을 지정합니다.

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

자주 묻는 질문

Aspose.Slides FOSS for Java이(가) 무엇인가요?

이 라이브러리는 무료이며 MIT-licensed 순수-Java 라이브러리로, Microsoft Office 없이 PowerPoint .pptx 프레젠테이션을 생성, 읽기 및 편집할 수 있습니다.

어떤 파일 형식을 지원하나요?

.pptx은 지원되는 읽기/쓰기 형식입니다. PDF, HTML, SVG 또는 이미지로 내보내기는 이 에디션에서 제공되지 않습니다.

Microsoft Office 또는 PowerPoint가 필요합니까?

아니오. Aspose.Slides FOSS는 순수-Java 라이브러리이며 Microsoft Office, COM 자동화 또는 어떠한 독점 런타임에도 의존하지 않습니다.

어떻게 설치하나요?

프로젝트에 Maven 의존성 org.aspose.slides.foss:aspose-slides-foss:1.0.0을(를) 추가하십시오. 추가 시스템 패키지나 네이티브 확장은 필요하지 않습니다. JDK 21 이상이 필요합니다.

그림자와 글로우 같은 시각 효과를 적용할 수 있나요?

예. 이 라이브러리는 EffectFormat API를 통해 모든 도형 객체에 외부 그림자, 글로우, 블러 및 반사 효과를 지원합니다.

try-with-resources 패턴이 권장됩니까?

예. Presentation은(는) AutoCloseable을(를) 구현하므로, 신뢰할 수 있는 리소스 정리를 위해 항상 try (Presentation prs = new Presentation()) { ... }를 사용하십시오.

PPTX를 라운드 트립하면 알 수 없는 콘텐츠가 손상되나요?

아니오. 로드 중에 발견된 알 수 없는 XML 파트는 저장 시 그대로 보존되므로, 라이브러리가 아직 이해하지 못하는 콘텐츠가 손실되지 않습니다.

소스 코드를 어디서 찾을 수 있나요?

이 라이브러리는 MIT 라이선스를 가지고 있으며 GitHub에 호스팅됩니다. 버그 보고 및 풀 리퀘스트를 환영합니다.

  

지원 및 학습 자료

 한국어