Formatowanie kształtów PowerPoint w Pythonie
Wprowadzenie
W programie PowerPoint można dodawać kształty do slajdów. Ponieważ kształty składają się z linii, można je formatować, modyfikując lub stosując efekty do ich obrysów. Dodatkowo można formatować kształty, określając ustawienia kontrolujące sposób wypełniania ich wnętrz.

Aspose.Slides for Python udostępnia klasy i właściwości, które pozwalają formatować kształty przy użyciu tych samych opcji dostępnych w programie PowerPoint.
Formatowanie linii
Korzystając z Aspose.Slides, możesz określić niestandardowy styl linii dla kształtu. Poniższe kroki opisują procedurę:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw styl linii kształtu.
- Ustaw szerokość linii.
- Ustaw styl kreskowania kształtu.
- Ustaw kolor linii dla kształtu.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
Poniższy kod w języku Python pokazuje, jak sformatować prostokątny AutoShape:
import aspose.slides as slides
import aspose.pydrawing as draw
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Prostokąt.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 75)
# Usuń wypełnienie z prostokątnego kształtu, aby widoczne były tylko jego linie.
shape.fill_format.fill_type = slides.FillType.NO_FILL
# Zastosuj formatowanie do linii prostokąta.
shape.line_format.style = slides.LineStyle.THICK_THIN
shape.line_format.width = 7
shape.line_format.dash_style = slides.LineDashStyle.DASH
# Ustaw kolor linii prostokąta.
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Zapisz plik PPTX na dysku.
presentation.save("formatted_lines.pptx", slides.export.SaveFormat.PPTX)
Wynik:

Zastosuj efekty szkicu do linii kształtu
Efekt szkicu sprawia, że linia kształtu wygląda jak narysowana odręcznie. Użyj Shape.line_format aby uzyskać dostęp do ustawień linii, LineFormat.sketch_format aby uzyskać dostęp do ustawień szkicu oraz SketchFormat.sketch_type aby wybrać wartość z wyliczenia LineSketchType.
Poniższy kod w Pythonie pokazuje, jak zastosować efekt LineSketchType.CURVED, odczytać wyraźnie przypisaną wartość oraz usunąć efekt za pomocą LineSketchType.NONE:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 200, 100)
# Uzyskaj dostęp do formatu linii kształtu i jego formatu szkicu.
sketch_format = shape.line_format.sketch_format
# Zastosuj efekt szkicu.
sketch_format.sketch_type = slides.LineSketchType.CURVED
# Odczytaj efekt szkicu przypisany bezpośrednio do kształtu.
explicit_sketch_type = sketch_format.sketch_type
print(f"Explicit sketch type: {explicit_sketch_type}")
# Usuń efekt szkicu.
sketch_format.sketch_type = slides.LineSketchType.NONE
Wartość zwracana przez SketchFormat.sketch_type reprezentuje ustawienie przypisane bezpośrednio do kształtu. Jeśli formatowanie linii może być dziedziczone z motywu, slajdu wzorcowego lub slajdu układu, użyj LineFormat.get_effective, uzyskaj dostęp do właściwości sketch_format zwróconego obiektu i odczytaj jego właściwość sketch_type. Wartość efektywna odzwierciedla formatowanie faktycznie zastosowane po rozwiązaniu dziedziczenia:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
shape = presentation.slides[0].shapes[0]
line_format = shape.line_format
explicit_sketch_type = line_format.sketch_format.sketch_type
effective_line_format = line_format.get_effective()
effective_sketch_type = effective_line_format.sketch_format.sketch_type
print(f"Explicit sketch type: {explicit_sketch_type}")
print(f"Effective sketch type: {effective_sketch_type}")
Formatowanie stylów łączeń
Oto trzy dostępne opcje typu łączenia:
- Zaokrąglony
- Kątowy
- Fazowany
Domyślnie, gdy PowerPoint łączy dwie linie pod kątem (np. w narożniku kształtu), używa ustawienia Zaokrąglony. Jednak przy rysowaniu kształtu z ostrymi kątami możesz preferować opcję Kątowy.

Poniższy kod w Pythonie pokazuje, jak trzy prostokąty (jak na powyższym obrazie) zostały utworzone przy użyciu ustawień typów łączeń Miter, Bevel i Round:
import aspose.slides as slides
import aspose.pydrawing as draw
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj trzy automatyczne kształty typu Prostokąt.
shape1 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 75)
shape2 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 20, 150, 75)
shape3 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 135, 150, 75)
# Ustaw kolor wypełnienia dla każdego prostokątnego kształtu.
shape1.fill_format.fill_type = slides.FillType.SOLID
shape1.fill_format.solid_fill_color.color = draw.Color.black
shape2.fill_format.fill_type = slides.FillType.SOLID
shape2.fill_format.solid_fill_color.color = draw.Color.black
shape3.fill_format.fill_type = slides.FillType.SOLID
shape3.fill_format.solid_fill_color.color = draw.Color.black
# Ustaw szerokość linii.
shape1.line_format.width = 15
shape2.line_format.width = 15
shape3.line_format.width = 15
# Ustaw kolor linii dla każdego prostokąta.
shape1.line_format.fill_format.fill_type = slides.FillType.SOLID
shape1.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shape2.line_format.fill_format.fill_type = slides.FillType.SOLID
shape2.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shape3.line_format.fill_format.fill_type = slides.FillType.SOLID
shape3.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Ustaw styl łączenia.
shape1.line_format.join_style = slides.LineJoinStyle.MITER
shape2.line_format.join_style = slides.LineJoinStyle.BEVEL
shape3.line_format.join_style = slides.LineJoinStyle.ROUND
# Dodaj tekst do każdego prostokąta.
shape1.text_frame.text = "Miter Join style"
shape2.text_frame.text = "Bevel Join style"
shape3.text_frame.text = "Round Join style"
# Zapisz plik PPTX na dysku.
presentation.save("join_styles.pptx", slides.export.SaveFormat.PPTX)
Wypełnienie gradientem
W programie PowerPoint wypełnienie gradientem to opcja formatowania, która pozwala zastosować ciągłe przejście kolorów w kształcie. Na przykład można zastosować dwa lub więcej kolorów w taki sposób, że jeden stopniowo przekształca się w drugi.
Oto, jak zastosować wypełnienie gradientem do kształtu przy użyciu Aspose.Slides:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw FillType kształtu na
GRADIENT. - Dodaj dwie wybrane przez siebie barwy z określonymi pozycjami, używając metod
addkolekcjigradient_stopsudostępnianej przez klasę GradientFormat. - Zapisz zmodyfikowaną prezentację jako plik PPTX.
import aspose.slides as slides
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Elipsa.
shape = slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 150, 75)
# Zastosuj formatowanie gradientowe do elipsy.
shape.fill_format.fill_type = slides.FillType.GRADIENT
shape.fill_format.gradient_format.gradient_shape = slides.GradientShape.LINEAR
# Ustaw kierunek gradientu.
shape.fill_format.gradient_format.gradient_direction = slides.GradientDirection.FROM_CORNER2
# Dodaj dwa przystanki gradientu.
shape.fill_format.gradient_format.gradient_stops.add(1.0, slides.PresetColor.PURPLE)
shape.fill_format.gradient_format.gradient_stops.add(0, slides.PresetColor.RED)
# Zapisz plik PPTX na dysku.
presentation.save("gradient_fill.pptx", slides.export.SaveFormat.PPTX)
Wynik:

Jeśli gradient wygląda inaczej w wyeksportowanym obrazie niż w programie PowerPoint, zobacz Wybierz styl renderowania gradientu. Możesz wybrać styl renderowania bez zmiany gradientu zapisanego w prezentacji.
Wypełnienie wzorem
W programie PowerPoint wypełnienie wzorem to opcja formatowania, która pozwala zastosować dwukolorowy wzór — np. kropki, paski, krzyżowe kreski lub kratkę — do kształtu. Możesz wybrać własne kolory pierwszego planu i tła wzoru.
Aspose.Slides udostępnia ponad 45 predefiniowanych stylów wzorów, które możesz zastosować do kształtów, aby zwiększyć atrakcyjność wizualną prezentacji. Nawet po wybraniu predefiniowanego wzoru możesz nadal określić dokładne kolory, które mają być użyte.
Oto, jak zastosować wypełnienie wzorem do kształtu przy użyciu Aspose.Slides:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw FillType kształtu na
PATTERN. - Wybierz styl wzoru spośród predefiniowanych opcji.
- Ustaw back_color wzoru.
- Ustaw fore_color wzoru.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Prostokąt.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Ustaw typ wypełnienia na wzór.
shape.fill_format.fill_type = slides.FillType.PATTERN
# Ustaw styl wzoru.
shape.fill_format.pattern_format.pattern_style = slides.PatternStyle.TRELLIS
# Ustaw tło i kolor pierwszego planu wzoru.
shape.fill_format.pattern_format.back_color.color = draw.Color.light_gray
shape.fill_format.pattern_format.fore_color.color = draw.Color.yellow
# Zapisz plik PPTX na dysku.
presentation.save("pattern_fill.pptx", slides.export.SaveFormat.PPTX)

Wypełnienie obrazem
W programie PowerPoint wypełnienie obrazem to opcja formatowania, która umożliwia wstawienie obrazu wewnątrz kształtu — efektywnie używając obrazu jako tła kształtu.
Oto, jak użyć Aspose.Slides do zastosowania wypełnienia obrazem w kształcie:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw FillType kształtu na
PICTURE. - Ustaw tryb wypełnienia obrazem na
TILE(lub inny preferowany tryb). - Utwórz obiekt PPImage z obrazu, którego chcesz użyć.
- Przypisz ten obraz do właściwości
picture.imagewpicture_fill_formatkształtu. - Zapisz zmodyfikowaną prezentację jako plik PPTX.
Załóżmy, że mamy plik „lotus.png” z następującym obrazem:

import aspose.slides as slides
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Prostokąt.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 192, 95)
# Ustaw typ wypełnienia na Obraz.
shape.fill_format.fill_type = slides.FillType.PICTURE
# Ustaw tryb wypełnienia obrazem.
shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
# Wczytaj obraz i dodaj go do zasobów prezentacji.
with slides.Images.from_file("lotus.png") as image:
presentation_image = presentation.images.add_image(image)
# Ustaw obraz.
shape.fill_format.picture_fill_format.picture.image = presentation_image
# Zapisz plik PPTX na dysku.
presentation.save("picture_fill.pptx", slides.export.SaveFormat.PPTX)

Użyj obrazu jako tekstury kafelkowej
Jeśli chcesz ustawić obraz w trybie kafelkowym jako teksturę i dostosować zachowanie kafelkowania, możesz użyć następujących właściwości klasy PictureFillFormat:
- picture_fill_mode: Ustawia tryb wypełnienia obrazem —
TILElubSTRETCH. - tile_alignment: Określa wyrównanie kafelków w obrębie kształtu.
- tile_flip: Steruje, czy kafelek jest odbijany poziomo, pionowo, czy obu kierunkach.
- tile_offset_x: Ustawia poziomy offset kafelka (w punktach) od punktu początkowego kształtu.
- tile_offset_y: Ustawia pionowy offset kafelka (w punktach) od punktu początkowego kształtu.
- tile_scale_x: Definiuje poziomą skalę kafelka w procentach.
- tile_scale_y: Definiuje pionową skalę kafelka w procentach.
import aspose.slides as slides
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
first_slide = presentation.slides[0]
# Dodaj automatyczny prostokątny kształt.
shape = first_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 190, 95)
# Ustaw typ wypełnienia kształtu na Obraz.
shape.fill_format.fill_type = slides.FillType.PICTURE
# Wczytaj obraz i dodaj go do zasobów prezentacji.
with slides.Images.from_file("lotus.png") as source_image:
presentation_image = presentation.images.add_image(source_image)
# Przypisz obraz do kształtu.
picture_fill_format = shape.fill_format.picture_fill_format
picture_fill_format.picture.image = presentation_image
# Skonfiguruj tryb wypełnienia obrazem i właściwości kafelkowania.
picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
picture_fill_format.tile_offset_x = -32
picture_fill_format.tile_offset_y = -32
picture_fill_format.tile_scale_x = 50
picture_fill_format.tile_scale_y = 50
picture_fill_format.tile_alignment = slides.RectangleAlignment.BOTTOM_RIGHT
picture_fill_format.tile_flip = slides.TileFlip.FLIP_BOTH
# Zapisz plik PPTX na dysku.
presentation.save("tile.pptx", slides.export.SaveFormat.PPTX)

Wypełnienie kolorem stałym
W programie PowerPoint wypełnienie kolorem stałym to opcja formatowania, która wypełnia kształt jednym, jednolitym kolorem. Ten jednolity kolor tła jest stosowany bez gradientów, tekstur ani wzorów.
Aby zastosować wypełnienie kolorem stałym do kształtu przy użyciu Aspose.Slides, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw FillType kształtu na
SOLID. - Przypisz wybrany kolor wypełnienia do kształtu.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Prostokąt.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Ustaw typ wypełnienia na Stały.
shape.fill_format.fill_type = slides.FillType.SOLID
# Ustaw kolor wypełnienia.
shape.fill_format.solid_fill_color.color = draw.Color.yellow
# Zapisz plik PPTX na dysku.
presentation.save("solid_color_fill.pptx", slides.export.SaveFormat.PPTX)

Ustaw przezroczystość
W programie PowerPoint, gdy stosujesz wypełnienie kolorem stałym, gradientem, obrazem lub teksturą do kształtów, możesz także ustawić poziom przezroczystości, aby kontrolować nieprzezroczystość wypełnienia. Wyższa wartość przezroczystości sprawia, że kształt jest bardziej przejrzysty, pozwalając na częściowe widzenie tła lub znajdujących się pod nim obiektów.
Aspose.Slides umożliwia ustawienie poziomu przezroczystości poprzez dostosowanie wartości alfa w kolorze używanym do wypełnienia. Oto, jak to zrobić:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw typ wypełnienia na
SOLID. - Użyj
Color.from_argb, aby zdefiniować kolor z przezroczystością (komponentalphasteruje przezroczystością). - Zapisz prezentację.
import aspose.pydrawing as draw
import aspose.slides as slides
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj prostokątny kształt automatyczny z wypełnieniem stałym.
slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Dodaj przezroczysty prostokątny kształt automatyczny nad stałym kształtem.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 80, 80, 150, 75)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.from_argb(128, 204, 102, 0)
presentation.save("shape_transparency.pptx", slides.export.SaveFormat.PPTX)

Obracanie kształtów
Aspose.Slides umożliwia obracanie kształtów w prezentacjach PowerPoint. Może to być przydatne przy pozycjonowaniu elementów wizualnych wymagających określonego wyrównania lub projektu.
Aby obrócić kształt na slajdzie, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw właściwość
rotationkształtu na żądany kąt. - Zapisz prezentację.
import aspose.slides as slides
# Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
with slides.Presentation() as presentation:
# Pobierz pierwszy slajd.
slide = presentation.slides[0]
# Dodaj automatyczny kształt typu Prostokąt.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Obróć kształt o 5 stopni.
shape.rotation = 5
# Zapisz plik PPTX na dysku.
presentation.save("shape_rotation.pptx", slides.export.SaveFormat.PPTX)

Dodaj efekty 3D Bevel
Aspose.Slides pozwala na zastosowanie efektów 3D Bevel do kształtów poprzez konfigurowanie ich właściwości ThreeDFormat.
Aby dodać efekty 3D Bevel do kształtu, wykonaj następujące kroki:
- Zainstaluj klasę Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Skonfiguruj ThreeDFormat kształtu, aby określić ustawienia bevel.
- Zapisz prezentację.
import aspose.slides as slides
import aspose.pydrawing as draw
# Utwórz instancję klasy Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Dodaj kształt do slajdu.
shape = slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.green
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.orange
shape.line_format.width = 2.0
# Ustaw właściwości ThreeDFormat kształtu.
shape.three_d_format.depth = 4
shape.three_d_format.bevel_top.bevel_type = slides.BevelPresetType.CIRCLE
shape.three_d_format.bevel_top.height = 6
shape.three_d_format.bevel_top.width = 6
shape.three_d_format.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
shape.three_d_format.light_rig.light_type = slides.LightRigPresetType.THREE_PT
shape.three_d_format.light_rig.direction = slides.LightingDirection.TOP
# Zapisz prezentację jako plik PPTX.
presentation.save("3D_bevel_effect.pptx", slides.export.SaveFormat.PPTX)

Dodaj efekty rotacji 3D
Aspose.Slides pozwala na zastosowanie rotacji 3D do kształtów poprzez konfigurowanie ich właściwości ThreeDFormat.
Aby zastosować rotację 3D do kształtu:
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu po jego indeksie.
- Dodaj AutoShape do slajdu.
- Ustaw camera_type i light_type kształtu, aby określić rotację 3D.
- Zapisz prezentację.
import aspose.slides as slides
# Utwórz instancję klasy Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
auto_shape.text_frame.text = "Hello, Aspose!"
auto_shape.three_d_format.depth = 6
auto_shape.three_d_format.camera.set_rotation(40, 35, 20)
auto_shape.three_d_format.camera.camera_type = slides.CameraPresetType.ISOMETRIC_LEFT_UP
auto_shape.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
# Zapisz prezentację jako plik PPTX.
presentation.save("3D_rotation_effect.pptx", slides.export.SaveFormat.PPTX)

Kontrola renderowania czarno-białego dla kształtów
Właściwość Shape.black_white_mode określa, jak pojedynczy kształt jest renderowany, gdy prezentacja jest wyświetlana lub przetwarzana w trybie czarno-białym. Nie włącza ona samego wyświetlania czarno-białego i nie zmienia wypełnienia, linii ani innych formatowań kształtu w normalnym trybie kolorowym.
Użyj wartości z wyliczenia BlackWhiteMode, aby wybrać pożądane zachowanie. Na przykład AUTOMATIC pozwala aplikacji renderującej wybrać konwersję, GRAY i LIGHT_GRAY używają szarego koloru, BLACK_WHITE używa wyłącznie czerni i bieli, BLACK i WHITE wymuszają pojedynczy kolor, COLOR zachowuje normalne kolory, a HIDDEN pomija kształt w trybie czarno-białym. NOT_DEFINED oznacza brak przypisanego trybu na poziomie kształtu.
Poniższy kod w Pythonie tworzy kolorowy kształt i sprawia, że w trybie wyświetlania czarno-białego wygląda na szary:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 200, 100)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.orange
# Zachowaj pomarańczowe wypełnienie w trybie kolorowym, ale renderuj kształt w odcieniach szarości w trybie czarno-białym.
shape.black_white_mode = slides.BlackWhiteMode.GRAY
presentation.save("shape_black_white_mode.pptx", slides.export.SaveFormat.PPTX)
W normalnym trybie kolorowym prostokąt zachowuje pomarańczowe wypełnienie. W workflowie wyświetlania czarno-białego używa szarego koloru, ponieważ jego tryb jest ustawiony na GRAY. Dzięki temu można zachować slajd w pełnym kolorze, definiując jednocześnie odrębny wygląd dla drukowania, podglądu lub innych procesów honorujących ustawienia czarno-białego wyświetlania prezentacji.
Resetowanie formatowania
Poniższy kod w Pythonie pokazuje, jak zresetować formatowanie slajdu i przywrócić pozycję, rozmiar oraz formatowanie wszystkich kształtów z symbolami zastępczymi na LayoutSlide do ich domyślnych ustawień:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
for slide in presentation.slides:
# Zresetuj każdy kształt na slajdzie, który ma symbol zastępczy w układzie.
slide.reset()
presentation.save("reset_formatting.pptx", slides.export.SaveFormat.PPTX)
FAQ
Czy formatowanie kształtu wpływa na końcowy rozmiar pliku prezentacji?
Tylko w niewielkim stopniu. Osadzone obrazy i media zajmują większość miejsca w pliku, podczas gdy parametry kształtów, takie jak kolory, efekty i gradienty, są przechowywane jako metadane i nie zwiększają praktycznie rozmiaru.
Jak mogę wykrywać kształty na slajdzie, które mają identyczne formatowanie, aby je grupować?
Porównaj kluczowe właściwości formatowania każdego kształtu — ustawienia wypełnienia, linii i efektów. Jeśli wszystkie odpowiadające sobie wartości są zgodne, traktuj ich style jako identyczne i logicznie grupuj te kształty, co upraszcza późniejsze zarządzanie stylami.
Czy mogę zapisać zestaw niestandardowych stylów kształtów do osobnego pliku w celu ponownego użycia w innych prezentacjach?
Tak. Przechowuj przykładowe kształty z pożądanymi stylami w szablonie zestawu slajdów lub w pliku szablonu .POTX. Tworząc nową prezentację, otwórz szablon, sklonuj potrzebne stylizowane kształty i ponownie zastosuj ich formatowanie w wybranych miejscach.