Správa pozadí prezentace v Pythonu přes Java
Úvod
Jednobarevné barvy, gradienty a obrázky se běžně používají jako pozadí snímků. Můžete nastavit pozadí pro normální snímek (jednotlivý snímek) nebo pro hlavní snímek (aplikuje se na více snímků najednou).

Nastavení jednobarevného pozadí pro normální snímek
Aspose.Slides umožňuje nastavit jednobarevnou barvu jako pozadí konkrétního snímku v prezentaci – i když prezentace používá hlavní snímek. Změna se projeví pouze na vybraném snímku.
- Vytvořte instanci třídy Presentation.
- Nastavte BackgroundType snímku na
OwnBackground. - Nastavte FillType pozadí snímku na
Solid. - Použijte metodu getSolidFillColor na FillFormat pro určení jednobarevné barvy pozadí.
- Uložte upravenou prezentaci.
Následující příklad v Pythonu ukazuje, jak nastavit modrou jednobarevnou barvu jako pozadí pro normální snímek:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color
# Vytvořte instanci třídy Presentation.
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
# Nastavte barvu pozadí snímku na modrou.
slide.getBackground().setType(BackgroundType.OwnBackground)
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
# Uložte prezentaci na disk.
presentation.save("SolidColorBackground.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Nastavení jednobarevného pozadí pro hlavní snímek
Aspose.Slides umožňuje nastavit jednobarevnou barvu jako pozadí hlavního snímku v prezentaci. Hlavní snímek funguje jako šablona, která řídí formátování všech snímků, takže když zvolíte jednobarevnou barvu pro pozadí hlavního snímku, aplikuje se na každý snímek.
- Vytvořte instanci třídy Presentation.
- Nastavte BackgroundType hlavního snímku (pomocí getMasters) na
OwnBackground. - Nastavte FillType pozadí hlavního snímku na
Solid. - Použijte metodu getSolidFillColor pro určení jednobarevné barvy pozadí.
- Uložte upravenou prezentaci.
Následující příklad v Pythonu ukazuje, jak nastavit jednobarevnou barvu (zelenou) jako pozadí pro hlavní snímek:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color
# Vytvořte instanci třídy Presentation.
presentation = Presentation()
try:
master_slide = presentation.getMasters().get_Item(0)
# Nastavte barvu pozadí hlavního snímku na zelenou.
master_slide.getBackground().setType(BackgroundType.OwnBackground)
master_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
master_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN)
# Uložte prezentaci na disk.
presentation.save("MasterSlideBackground.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Nastavení gradientového pozadí pro snímek
Gradient je grafický efekt vytvořený postupnou změnou barvy. Použitý jako pozadí snímku může gradient dodat prezentacím umělecký a profesionální vzhled. Aspose.Slides umožňuje nastavit gradientovou barvu jako pozadí snímků.
- Vytvořte instanci třídy Presentation.
- Nastavte BackgroundType snímku na
OwnBackground. - Nastavte FillType pozadí snímku na
Gradient. - Použijte metodu getGradientFormat na FillFormat pro konfiguraci preferovaných nastavení gradientu.
- Uložte upravenou prezentaci.
Následující příklad v Pythonu ukazuje, jak nastavit gradientovou barvu jako pozadí pro snímek:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat, TileFlip
from java.awt import Color
# Vytvořte instanci třídy Presentation.
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
# Použijte gradientový efekt na pozadí.
slide.getBackground().setType(BackgroundType.OwnBackground)
slide.getBackground().getFillFormat().setFillType(FillType.Gradient)
gradient_format = slide.getBackground().getFillFormat().getGradientFormat()
gradient_format.setTileFlip(TileFlip.FlipBoth)
# Přidejte gradientové barvy. Bez gradientových zastávek se pozadí vrátí k výchozí černo-bílé škále.
gradient_format.getGradientStops().add(0.0, Color.CYAN)
gradient_format.getGradientStops().add(1.0, Color.BLUE)
# Uložte prezentaci na disk.
presentation.save("GradientBackground.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Nastavení obrázku jako pozadí snímku
Kromě jednobarevných a gradientních výplní umožňuje Aspose.Slides použít obrázky jako pozadí snímků.
- Vytvořte instanci třídy Presentation.
- Nastavte BackgroundType snímku na
OwnBackground. - Nastavte FillType pozadí snímku na
Picture. - Načtěte obrázek, který chcete použít jako pozadí snímku.
- Přidejte obrázek do kolekce obrázků prezentace.
- Použijte metodu getPictureFillFormat na FillFormat pro přiřazení obrázku jako pozadí.
- Uložte upravenou prezentaci.
Následující příklad v Pythonu ukazuje, jak nastavit obrázek jako pozadí snímku:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, PictureFillMode, Presentation, SaveFormat
# Vytvořte instanci třídy Presentation.
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
# Nastavte vlastnosti obrázku pozadí.
slide.getBackground().setType(BackgroundType.OwnBackground)
slide.getBackground().getFillFormat().setFillType(FillType.Picture)
slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch)
# Načtěte obrázek.
image = Images.fromFile("Tulips.jpg")
# Přidejte obrázek do kolekce obrázků prezentace.
presentation_image = presentation.getImages().addImage(image)
image.dispose()
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(presentation_image)
# Uložte prezentaci na disk.
presentation.save("ImageAsBackground.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Následující ukázkový kód ukazuje, jak nastavit typ výplně pozadí na dlaždicový obrázek a upravit vlastnosti dlaždicování:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, PictureFillMode, Presentation, RectangleAlignment, SaveFormat, TileFlip
presentation = Presentation()
try:
first_slide = presentation.getSlides().get_Item(0)
background = first_slide.getBackground()
background.setType(BackgroundType.OwnBackground)
background.getFillFormat().setFillType(FillType.Picture)
new_image = Images.fromFile("image.png")
presentation_image = presentation.getImages().addImage(new_image)
new_image.dispose()
# Nastavte obrázek použité pro výplň pozadí.
background_picture_fill_format = background.getFillFormat().getPictureFillFormat()
background_picture_fill_format.getPicture().setImage(presentation_image)
# Nastavte režim výplně obrázku na Dlaždice a upravte vlastnosti dlaždic.
background_picture_fill_format.setPictureFillMode(PictureFillMode.Tile)
background_picture_fill_format.setTileOffsetX(15.0)
background_picture_fill_format.setTileOffsetY(15.0)
background_picture_fill_format.setTileScaleX(46.0)
background_picture_fill_format.setTileScaleY(87.0)
background_picture_fill_format.setTileAlignment(RectangleAlignment.Center)
background_picture_fill_format.setTileFlip(TileFlip.FlipY)
presentation.save("TileBackground.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Note
Přečtěte si více: Tile Picture as Texture.Změna průhlednosti obrázku na pozadí
Možná budete chtít upravit průhlednost obrázku v pozadí snímku, aby se obsah snímku lépe vyjímal. Následující kód v Pythonu ukazuje, jak změnit průhlednost obrázku na pozadí snímku:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpage.startJVM()
from asposeslides.api import AlphaModulateFixed, Presentation, SaveFormat
transparency_value = 30 # Například.
presentation = Presentation("sample.pptx")
try:
slide = presentation.getSlides().get_Item(0)
# Získejte kolekci operací transformace obrázku.
image_transform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform()
# Najděte existující efekt pevné procentuální průhlednosti.
transparency_operation = None
for operation in image_transform:
if isinstance(operation, AlphaModulateFixed):
transparency_operation = operation
break
# Nastavte novou hodnotu průhlednosti.
if transparency_operation is None:
image_transform.addAlphaModulateFixedEffect(100 - transparency_value)
else:
transparency_operation.setAmount(100 - transparency_value)
presentation.save("output.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Získání hodnoty pozadí snímku
Aspose.Slides umožňuje načíst efektivní hodnoty pozadí snímku pomocí metody getEffective na objektu Background. Vrácená data zpřístupňují efektivní formáty výplně a efektu.
Pomocí metody getBackground třídy BaseSlide můžete získat pozadí snímku.
Následující příklad v Pythonu ukazuje, jak získat efektivní hodnotu pozadí snímku:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import FillType, Presentation
# Vytvořte instanci třídy Presentation.
presentation = Presentation("Sample.pptx")
try:
slide = presentation.getSlides().get_Item(0)
# Získejte efektivní pozadí s ohledem na hlavní snímek, rozvržení a motiv.
effective_background = slide.getBackground().getEffective()
if effective_background.getFillFormat().getFillType() == FillType.Solid:
print("Fill color:", effective_background.getFillFormat().getSolidFillColor())
else:
print("Fill type:", effective_background.getFillFormat().getFillType())
finally:
presentation.dispose()
Často kladené otázky
Mohu resetovat vlastní pozadí a obnovit pozadí motivu/rozvržení?
Ano. Odstraňte vlastní výplň snímku a pozadí bude znovu zděděno z odpovídajícího snímku rozvržení/hlavní snímek (tj. z pozadí motivu).
Co se stane s pozadím, pokud později změníme motiv prezentace?
Pokud má snímek vlastní výplň, zůstane nezměněna. Pokud je pozadí zděděno z rozvržení/hlavní snímek, aktualizuje se tak, aby odpovídalo novému motivu.