기능 및 역량
기능 및 역량
Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx 파일을 프로그래밍 방식으로 처리합니다. 이 페이지에서는 대표적인 코드 예제와 함께 지원되는 모든 기능 영역을 나열합니다.
프레젠테이션 I/O
기존 파일을 열기 .pptx 파일을 열거나 새 파일을 만든 다음 PPTX 형식으로 다시 저장합니다.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)
# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)참고: PPTX는 유일하게 지원되는 저장 형식입니다. PDF, HTML, SVG 또는 이미지로 내보내는 기능은 제공되지 않습니다.
소스 파일의 알 수 없는 XML 파트는 저장 시 그대로 보존되므로, 열고 다시 저장해도 .pptx 라이브러리가 아직 이해하지 못하는 콘텐츠는 절대 제거되지 않습니다.
슬라이드 관리
슬라이드를 추가, 제거, 복제 및 순서 변경합니다.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Access the first slide
slide = prs.slides[0]
# Add an additional blank slide at the end
prs.slides.add_empty_slide(prs.layout_slides[0])
print(f"Total slides: {len(prs.slides)}")
prs.save("multi-slide.pptx", SaveFormat.PPTX)도형
슬라이드에 자동도형, 그림 프레임, 표 및 연결선을 추가합니다.
AutoShapes
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Add a rectangle at (x=50, y=50) with width=300, height=100
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Aspose.Slides FOSS")
prs.save("shapes.pptx", SaveFormat.PPTX)표
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Column widths and row heights in points
col_widths = [120.0, 120.0, 120.0]
row_heights = [40.0, 40.0, 40.0]
table = slide.shapes.add_table(50, 50, col_widths, row_heights)
table.rows[0][0].text_frame.text = "Product"
table.rows[0][1].text_frame.text = "Quantity"
table.rows[0][2].text_frame.text = "Price"
prs.save("table.pptx", SaveFormat.PPTX)연결선
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right side
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left side
prs.save("connector.pptx", SaveFormat.PPTX)텍스트 서식
단락 및 문자 수준에서 텍스트를 서식 지정하려면 사용합니다 PortionFormat.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold blue heading")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("text.pptx", SaveFormat.PPTX)NullableBool.TRUE 속성을 명시적으로 설정합니다; NullableBool.NOT_DEFINED 슬라이드 마스터에서 상속됩니다.
채우기 유형
도형에 단색, 그라디언트, 패턴 또는 그림 채우기를 적용합니다.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
# Solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)
prs.save("fill.pptx", SaveFormat.PPTX)시각 효과
도형에 외부 그림자, 글로우, 부드러운 가장자리, 흐림, 반사 및 내부 그림자를 적용합니다.
효과 속성은 다음을 통해 접근할 수 있습니다 shape.effect_format. 설정 outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, 또는 inner_shadow_effect 각각을 독립적으로 구성합니다.
3D Formatting
3D 베벨, 카메라, 라이트 릭, 재질 및 돌출 깊이를 다음을 통해 적용합니다 shape.three_d_format. 이는 3D 효과를 지원하는 PPTX 뷰어에서 도형 렌더링의 시각적 깊이와 조명 모델을 제어합니다.
발표자 노트
다음 방법을 사용하여 슬라이드에 메모를 첨부 notes_slide_manager.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
notes = prs.slides[0].notes_slide_manager.add_notes_slide()
notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
prs.save("notes.pptx", SaveFormat.PPTX)댓글
작성자 정보와 슬라이드 위치가 포함된 스레드형 댓글을 추가합니다.
import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime
with slides.Presentation() as prs:
author = prs.comment_authors.add_author("Jane Smith", "JS")
slide = prs.slides[0]
author.comments.add_comment(
"Please verify this data before the presentation.",
slide,
PointF(2.0, 2.0),
datetime.now()
)
prs.save("comments.pptx", SaveFormat.PPTX)임베드된 이미지
파일 경로에서 이미지를 프레젠테이션에 삽입하고 슬라이드에 로 추가 PictureFrame.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide = prs.slides[0]
slide.shapes.add_picture_frame(
slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
)
prs.save("with-image.pptx", SaveFormat.PPTX)문서 속성
핵심, 앱 및 사용자 정의 문서 속성을 읽고 쓸 수 있습니다.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
props = prs.document_properties
# Core properties
props.title = "Q1 Results"
props.author = "Finance Team"
props.subject = "Quarterly Review"
props.keywords = "Q1, finance, results"
# Custom property
props.set_custom_property_value("ReviewedBy", "Legal Team")
prs.save("deck.pptx", SaveFormat.PPTX)알려진 제한 사항
다음 영역에서 오류가 발생합니다 NotImplementedError 그리고 이 버전에서는 사용할 수 없습니다:
| 영역 | 상태 |
|---|---|
| 차트 | 구현되지 않음 |
| SmartArt | 구현되지 않음 |
| 애니메이션 및 전환 | 구현되지 않음 |
| PDF / HTML / SVG / 이미지 내보내기 | 구현되지 않음 (PPTX 전용) |
| VBA 매크로 | 구현되지 않음 |
| 디지털 서명 | 구현되지 않음 |
| 하이퍼링크 및 동작 설정 | 구현되지 않음 |
| OLE 개체 | 구현되지 않음 |
| 수학 텍스트 | 구현되지 않음 |
또 보기
- 시작하기: 설치 및 첫 번째 스크립트
- API 레퍼런스: 클래스 및 메서드 레퍼런스
- How-To 가이드: 작업 지향 기사