Verwalten von Präsentationshintergründen in JavaScript
Übersicht
Einfarbige Hintergründe, Farbverläufe und Bilder werden häufig für Folienhintergründe verwendet. Sie können den Hintergrund für eine normale Folie (eine einzelne Folie) oder eine Master‑Folie (gilt gleichzeitig für mehrere Folien) festlegen.

Festlegen eines einfarbigen Hintergrunds für eine normale Folie
Aspose.Slides ermöglicht es Ihnen, einer bestimmten Folie einer Präsentation einen einfarbigen Hintergrund zuzuweisen – selbst wenn die Präsentation eine Master‑Folie verwendet. Die Änderung wirkt nur auf die ausgewählte Folie.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Solid. - Verwenden Sie die Methode getSolidFillColor auf FillFormat, um die einfarbige Hintergrundfarbe festzulegen.
- Speichern Sie die geänderte Präsentation.
Das folgende JavaScript‑Beispiel zeigt, wie Sie für eine normale Folie einen blauen einfarbigen Hintergrund festlegen:
// Erstellen Sie eine Instanz der Presentation-Klasse.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Setzen Sie die Hintergrundfarbe der Folie auf Blau.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
slide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
// Speichern Sie die Präsentation auf dem Datenträger.
presentation.save("SolidColorBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Festlegen eines einfarbigen Hintergrunds für die Master‑Folie
Aspose.Slides ermöglicht es Ihnen, der Master‑Folie einer Präsentation einen einfarbigen Hintergrund zuzuweisen. Die Master‑Folie dient als Vorlage, die die Formatierung aller Folien steuert; wenn Sie also einen einfarbigen Hintergrund für die Master‑Folie wählen, wird er auf jede Folie angewendet.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Master‑Folie (via
getMasters) aufOwnBackground. - Setzen Sie den FillType des Master‑Folienhintergrunds auf
Solid. - Verwenden Sie die Methode getSolidFillColor , um die einfarbige Hintergrundfarbe festzulegen.
- Speichern Sie die geänderte Präsentation.
Das folgende JavaScript‑Beispiel zeigt, wie Sie für die Master‑Folie eine einfarbige (grüne) Hintergrundfarbe festlegen:
// Eine Instanz der Presentation-Klasse erstellen.
let presentation = new aspose.slides.Presentation();
try {
let masterSlide = presentation.getMasters().get_Item(0);
// Hintergrundfarbe der Master-Folie auf Waldgrün setzen.
masterSlide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
masterSlide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
masterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
// Präsentation auf dem Datenträger speichern.
presentation.save("MasterSlideBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Festlegen eines Farbverlaufs‑Hintergrunds für eine Folie
Ein Farbverlauf ist ein grafischer Effekt, der durch einen schrittweisen Farbwechsel entsteht. Als Folienhintergrund können Farbverläufe Präsentationen ein kunstvolles und professionelles Aussehen verleihen. Aspose.Slides ermöglicht es Ihnen, einen Farbverlauf als Hintergrund für Folien zu setzen.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Gradient. - Verwenden Sie die Methode getGradientFormat auf FillFormat, um Ihre bevorzugten Verlaufseinstellungen zu konfigurieren.
- Speichern Sie die geänderte Präsentation.
Das folgende JavaScript‑Beispiel zeigt, wie Sie für eine Folie einen Farbverlauf‑Hintergrund festlegen:
// Erstellen Sie eine Instanz der Presentation-Klasse.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Wenden Sie einen Farbverlaufseffekt auf den Hintergrund an.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Gradient));
slide.getBackground().getFillFormat().getGradientFormat().setTileFlip(aspose.slides.TileFlip.FlipBoth);
// Speichern Sie die Präsentation auf dem Datenträger.
presentation.save("GradientBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ein Bild als Folienhintergrund festlegen
Zusätzlich zu einfarbigen und Verlauf‑Füllungen ermöglicht Aspose.Slides die Verwendung von Bildern als Folienhintergrund.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Picture. - Laden Sie das Bild, das Sie als Folienhintergrund verwenden möchten.
- Fügen Sie das Bild der Bildsammlung der Präsentation hinzu.
- Verwenden Sie die Methode getPictureFillFormat auf FillFormat, um das Bild als Hintergrund zuzuweisen.
- Speichern Sie die geänderte Präsentation.
Das folgende JavaScript‑Beispiel zeigt, wie Sie ein Bild als Hintergrund für eine Folie festlegen:
// Erstellen Sie eine Instanz der Presentation-Klasse.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Hintergrundbild-Eigenschaften festlegen.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(aspose.slides.PictureFillMode.Stretch);
// Bild laden.
let image = aspose.slides.Images.fromFile("Tulips.jpg");
// Bild zur Bildsammlung der Präsentation hinzufügen.
let ppImage = presentation.getImages().addImage(image);
image.dispose();
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(ppImage);
// Präsentation auf dem Datenträger speichern.
presentation.save("ImageAsBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Der folgende Code‑Auszug demonstriert, wie Sie den Hintergrund‑Fülltyp auf ein gekacheltes Bild setzen und die Kachel‑Eigenschaften ändern:
let presentation = new aspose.slides.Presentation();
try {
let firstSlide = presentation.getSlides().get_Item(0);
let background = firstSlide.getBackground();
background.setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
background.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
let newImage = aspose.slides.Images.fromFile("image.png");
let ppImage = presentation.getImages().addImage(newImage);
newImage.dispose();
// Legen Sie das Bild fest, das für die Hintergrundfüllung verwendet wird.
let backPictureFillFormat = background.getFillFormat().getPictureFillFormat();
backPictureFillFormat.getPicture().setImage(ppImage);
// Stellen Sie den Bildfüllmodus auf Kachel ein und passen Sie die Kacheleigenschaften an.
backPictureFillFormat.setPictureFillMode(aspose.slides.PictureFillMode.Tile);
backPictureFillFormat.setTileOffsetX(15.0);
backPictureFillFormat.setTileOffsetY(15.0);
backPictureFillFormat.setTileScaleX(46.0);
backPictureFillFormat.setTileScaleY(87.0);
backPictureFillFormat.setTileAlignment(java.newByte(aspose.slides.RectangleAlignment.Center));
backPictureFillFormat.setTileFlip(aspose.slides.TileFlip.FlipY);
presentation.save("TileBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Transparenz des Hintergrundbildes ändern
Möglicherweise möchten Sie die Transparenz des Hintergrundbildes einer Folie anpassen, damit der Inhalt der Folie besser hervorsticht. Der folgende JavaScript‑Code zeigt, wie Sie die Transparenz eines Folien‑Hintergrundbildes ändern:
var transparencyValue = 30; // Zum Beispiel.
// Get the collection of picture transform operations.
var imageTransform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
// Find an existing fixed-percentage transparency effect.
var transparencyOperation = null;
for (let i = 0; i < imageTransform.size(); i++) {
let operation = imageTransform.get_Item(i);
if (java.instanceOf(operation, "com.aspose.slides.AlphaModulateFixed")) {
transparencyOperation = operation;
break;
}
}
if (transparencyOperation == null) {
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
} else {
transparencyOperation.setAmount(100 - transparencyValue);
}
Den Hintergrundwert der Folie abrufen
Aspose.Slides stellt die Klasse BackgroundEffectiveData zur Verfügung, um die effektiven Hintergrundwerte einer Folie abzurufen. Diese Klasse gibt das effektive FillFormat und EffectFormat zurück.
Über die Methode getBackground der Klasse BaseSlide können Sie den effektiven Hintergrund einer Folie erhalten.
Das folgende JavaScript‑Beispiel zeigt, wie Sie den effektiven Hintergrundwert einer Folie abrufen:
// Erstellen Sie eine Instanz der Presentation-Klasse.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
// Den effektiven Hintergrund abrufen, wobei Master, Layout und Theme berücksichtigt werden.
let effBackground = slide.getBackground().getEffective();
if (effBackground.getFillFormat().getFillType() == aspose.slides.FillType.Solid)
console.log("Fill color:", effBackground.getFillFormat().getSolidFillColor().toString());
else
console.log("Fill type:", effBackground.getFillFormat().getFillType());
} finally {
presentation.dispose();
}
FAQ
Kann ich einen benutzerdefinierten Hintergrund zurücksetzen und den Theme‑/Layout‑Hintergrund wiederherstellen?
Ja. Entfernen Sie die benutzerdefinierte Füllung der Folie, und der Hintergrund wird wieder vom entsprechenden Layout/Master (also dem Theme‑Hintergrund) übernommen.
Was passiert mit dem Hintergrund, wenn ich später das Theme der Präsentation ändere?
Hat eine Folie ihre eigene Füllung, bleibt diese unverändert. Wird der Hintergrund vom Layout/Master geerbt, wird er an das neue Theme angepasst.