Python via Java에서 프레젠테이션 도형 썸네일 생성
소개
Aspose.Slides for Python via Java은 각 페이지가 슬라이드에 해당하는 프레젠테이션 파일을 생성하는 데 사용할 수 있습니다. 슬라이드는 Microsoft PowerPoint로 프레젠테이션 파일을 열어 볼 수 있습니다. 그러나 개발자는 때때로 도형 이미지를 별도의 이미지 뷰어에서 확인해야 할 필요가 있습니다. 이러한 경우 Aspose.Slides for Python via Java은 슬라이드 도형의 썸네일 이미지를 생성하는 데 도움을 줍니다.
이 문서에서는 다양한 방법으로 도형 썸네일을 생성하는 방법을 설명합니다.
- 슬라이드 내부에서 도형 썸네일 생성
- 사용자 지정 크기로 슬라이드 도형의 썸네일 생성
- 도형 외형 경계 내에서 썸네일 생성
슬라이드에서 도형 썸네일 생성
Aspose.Slides for Python via Java을 사용하여任意의 슬라이드에서 도형 썸네일을 생성하려면 다음을 수행합니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- ID 또는 인덱스로 슬라이드에 대한 참조를 얻습니다.
- 기본 배율로 참조된 슬라이드에 있는 도형의 Get the shape thumbnail image 를 가져옵니다.
- 원하는 이미지 형식으로 썸네일 이미지를 저장합니다.
다음 샘플 코드는 슬라이드에서 도형 썸네일을 생성하는 방법을 보여줍니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
# 프레젠테이션 파일을 나타내는 Presentation 클래스를 인스턴스화합니다.
presentation = Presentation("Thumbnail.pptx")
try:
# 전체 크기의 이미지를 생성합니다.
shape_image = presentation.getSlides().get_Item(0).getShapes().get_Item(0).getImage()
try:
# 이미지를 PNG 형식으로 디스크에 저장합니다.
shape_image.save("output.png", ImageFormat.Png)
finally:
shape_image.dispose()
finally:
presentation.dispose()
사용자 정의 배율로 썸네일 생성
Aspose.Slides for Python via Java을 사용하여 슬라이드 도형의 썸네일을 생성하려면 다음을 수행합니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- ID 또는 인덱스로 슬라이드에 대한 참조를 얻습니다.
- 사용자 정의 차원으로 참조된 슬라이드에 있는 도형의 Get the shape thumbnail image 를 가져옵니다.
- 원하는 이미지 형식으로 썸네일 이미지를 저장합니다.
다음 샘플 코드는 정의된 배율을 기반으로 도형 썸네일을 생성하는 방법을 보여줍니다.
import jpade
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation, ShapeThumbnailBounds
# 프레젠테이션 파일을 나타내는 Presentation 클래스를 인스턴스화합니다.
presentation = Presentation("Thumbnail.pptx")
try:
# 양쪽 방향으로 2배 비율로 스케일된 이미지를 생성합니다.
shape_image = presentation.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Shape, 2, 2)
try:
# 이미지를 PNG 형식으로 디스크에 저장합니다.
shape_image.save("output.png", ImageFormat.Png)
finally:
shape_image.dispose()
finally:
presentation.dispose()
경계 기반 도형 외형 썸네일 생성
이 방법은 개발자가 도형 외형의 경계 내에서 썸네일을 생성하도록 합니다. 모든 도형 효과를 고려합니다. 생성된 도형 썸네일은 슬라이드 경계에 제한됩니다. 외형 경계 내에서 슬라이드 도형의 썸네일을 생성하려면 다음을 수행합니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- ID 또는 인덱스로 슬라이드에 대한 참조를 얻습니다.
- 외형 경계를 사용하여 참조된 슬라이드에 있는 도형의 썸네일 이미지를 가져옵니다.
- 원하는 이미지 형식으로 썸네일 이미지를 저장합니다.
다음 샘플 코드는 위 단계에 기반합니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation, ShapeThumbnailBounds
# 프레젠테이션 파일을 나타내는 Presentation 클래스를 인스턴스화합니다.
presentation = Presentation("Thumbnail.pptx")
try:
# 전체 크기의 이미지를 생성합니다.
shape_image = presentation.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Appearance, 1, 1)
try:
# 이미지를 PNG 형식으로 디스크에 저장합니다.
shape_image.save("output.png", ImageFormat.Png)
finally:
shape_image.dispose()
finally:
presentation.dispose()
도형의 실제 시각적 경계 가져오기
Shape의 프레임 속성—getX, getY, getWidth, getHeight 메서드—는 프레젠테이션 모델에 저장된 사각형을 설명합니다. 실제 렌더링되는 내용은 해당 프레임을 초과하거나 다른 축에 맞춰진 사각형을 차지할 수 있습니다. 회전, 외곽선, 화살촉, 텍스트 레이아웃 및 오버플로우, 생성된 SmartArt 기하학 및 기타 렌더링 효과가 차지하는 영역을 변경할 수 있습니다.
이미지를 만들지 않고 차지하는 영역을 계산하려면 Shape.getVisualBounds 를 사용하십시오. 이 메서드는 슬라이드 좌표계의 Rectangle2D.Float 을 반환합니다. 반환된 사각형은 슬라이드에 클리핑되지 않으므로 내용이 슬라이드 원점을 초과하면 좌표가 음수가 될 수 있습니다.
다음 예제는 프레임 경계와 시각적 경계를 가져와 비교합니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
from java.awt.geom import Rectangle2D
presentation = Presentation("example.pptx")
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().get_Item(0)
visual_bounds = shape.getVisualBounds()
frame_bounds = Rectangle2D.Float(shape.getX(), shape.getY(), shape.getWidth(), shape.getHeight())
print("Frame bounds:", frame_bounds)
print("Visual bounds:", visual_bounds)
finally:
presentation.dispose()
동일한 Rectangle2D.Float 을 사용하여 인접 도형을 왼쪽, 오른쪽, 위쪽 또는 아래쪽 가장자리와 정렬하거나, 생성된 레이아웃에 충분한 공간을 예약하거나, 허용된 영역 밖의 콘텐츠를 감지할 수 있습니다. 시각적 경계는 저장된 프레임이 전체 렌더링 결과를 나타내지 않을 수 있는 SmartArt, 텍스트 상자, 화살표, 이미지, 회전된 도형 및 그룹 도형에 특히 유용합니다.
레이아웃이나 검증을 위한 좌표가 필요하고 비트맵이 필요하지 않을 때는 Shape.getVisualBounds 를 사용하고, 도형을 렌더링해야 할 때는 Shape.getImage 를 사용하십시오. ShapeThumbnailBounds에서 ShapeThumbnailBounds.Shape 은 외곽선 설정을 포함한 도형 경계에서 이미지를 크기 조정하고, ShapeThumbnailBounds.Appearance 은 도형 외형에서 이미지 크기를 조정하고 결과를 슬라이드 경계로 제한합니다. 반면에 Shape.getVisualBounds 은 계산된 사각형만 반환하고 슬라이드에 클리핑하지 않습니다.
FAQ
도형 썸네일을 저장할 때 사용할 수 있는 이미지 형식은 무엇입니까?
PNG, JPEG, BMP, GIF, TIFF 등이며, 도형의 내용을 SVG 로 저장하여 벡터 SVG 로 내보낼 수도 있습니다.
썸네일을 렌더링할 때 Shape 경계와 Appearance 경계의 차이는 무엇입니까?
Shape는 도형의 기하학을 사용하고, Appearance는 시각적 효과 (그림자, 발광 등)을 고려합니다.
도형이 숨김 처리된 경우에도 썸네일이 생성됩니까?
숨김 처리된 도형도 모델의 일부이며 렌더링될 수 있습니다. 숨김 플래그는 슬라이드 쇼 표시에는 영향을 주지만 도형 이미지 생성 자체를 방지하지는 않습니다.
그룹 도형, 차트, SmartArt 및 기타 복합 객체가 지원됩니까?
예. Shape로 표현되는 모든 객체(예: GroupShape, Chart, SmartArt)는 썸네일 또는 SVG 로 저장할 수 있습니다.
시스템에 설치된 폰트가 텍스트 도형 썸네일 품질에 영향을 줍니까?
예. 원하지 않는 폰트 대체와 텍스트 흐름 변형을 방지하려면 필요한 폰트를 제공하거나 폰트 대체를 구성해야 합니다.