Quản lý nền bài thuyết trình trong JavaScript
Giới thiệu
Màu nền đơn sắc, gradient và hình ảnh thường được sử dụng cho nền slide. Bạn có thể đặt nền cho một slide bình thường (một slide duy nhất) hoặc một slide mẫu (áp dụng cho nhiều slide cùng lúc).

Đặt nền màu đơn sắc cho Slide bình thường
Aspose.Slides cho phép bạn đặt một màu đơn sắc làm nền cho một slide cụ thể trong bài thuyết trình—ngay cả khi bài thuyết trình sử dụng slide mẫu. Thay đổi chỉ áp dụng cho slide đã chọn.
- Tạo một thể hiện của lớp Presentation.
- Đặt BackgroundType của slide thành
OwnBackground. - Đặt FillType của nền slide thành
Solid. - Sử dụng phương thức getSolidFillColor trên FillFormat để chỉ định màu nền đơn sắc.
- Lưu bài thuyết trình đã chỉnh sửa.
Ví dụ JavaScript sau cho thấy cách đặt màu xanh lam đơn sắc làm nền cho một slide bình thường:
// Tạo một thể hiện của lớp Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Đặt màu nền của slide thành màu xanh dương.
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"));
// Lưu bài thuyết trình vào ổ đĩa.
presentation.save("SolidColorBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Đặt nền màu đơn sắc cho Slide mẫu
Aspose.Slides cho phép bạn đặt một màu đơn sắc làm nền cho slide mẫu trong bài thuyết trình. Slide mẫu hoạt động như một mẫu kiểm soát định dạng cho tất cả các slide, vì vậy khi bạn chọn một màu đơn sắc cho nền của slide mẫu, nó sẽ áp dụng cho mọi slide.
- Tạo một thể hiện của lớp Presentation.
- Đặt BackgroundType của slide mẫu (qua
getMasters) thànhOwnBackground. - Đặt FillType của nền slide mẫu thành
Solid. - Sử dụng phương thức getSolidFillColor để chỉ định màu nền đơn sắc.
- Lưu bài thuyết trình đã chỉnh sửa.
Ví dụ JavaScript sau cho thấy cách đặt một màu xanh lá cây đơn sắc làm nền cho slide mẫu:
// Tạo một thể hiện của lớp Presentation.
let presentation = new aspose.slides.Presentation();
try {
let masterSlide = presentation.getMasters().get_Item(0);
// Đặt màu nền cho slide Master là màu xanh rừng.
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"));
// Lưu bài thuyết trình vào ổ đĩa.
presentation.save("MasterSlideBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Đặt nền Gradient cho Slide
Gradient là một hiệu ứng đồ họa được tạo ra bằng cách thay đổi màu dần dần. Khi được sử dụng làm nền slide, gradient có thể làm cho bài thuyết trình trông nghệ thuật và chuyên nghiệp hơn. Aspose.Slides cho phép bạn đặt màu gradient làm nền cho các slide.
- Tạo một thể hiện của lớp Presentation.
- Đặt BackgroundType của slide thành
OwnBackground. - Đặt FillType của nền slide thành
Gradient. - Sử dụng phương thức getGradientFormat trên FillFormat để cấu hình các thiết lập gradient mong muốn.
- Lưu bài thuyết trình đã chỉnh sửa.
Ví dụ JavaScript sau cho thấy cách đặt màu gradient làm nền cho một slide:
// Tạo một thể hiện của lớp Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Áp dụng hiệu ứng gradient cho nền.
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);
// Lưu bài thuyết trình vào ổ đĩa.
presentation.save("GradientBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Đặt hình ảnh làm Nền Slide
Ngoài các kiểu nền đơn sắc và gradient, Aspose.Slides cho phép bạn sử dụng hình ảnh làm nền slide.
- Tạo một thể hiện của lớp Presentation.
- Đặt BackgroundType của slide thành
OwnBackground. - Đặt FillType của nền slide thành
Picture. - Tải hình ảnh bạn muốn sử dụng làm nền slide.
- Thêm hình ảnh vào bộ sưu tập hình ảnh của bài thuyết trình.
- Sử dụng phương thức getPictureFillFormat trên FillFormat để gán hình ảnh làm nền.
- Lưu bài thuyết trình đã chỉnh sửa.
Ví dụ JavaScript sau cho thấy cách đặt một hình ảnh làm nền cho một slide:
// Tạo một thể hiện của lớp Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Đặt các thuộc tính hình ảnh nền.
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);
// Tải hình ảnh.
let image = aspose.slides.Images.fromFile("Tulips.jpg");
// Thêm hình ảnh vào bộ sưu tập hình ảnh của bài thuyết trình.
let ppImage = presentation.getImages().addImage(image);
image.dispose();
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(ppImage);
// Lưu bài thuyết trình vào ổ đĩa.
presentation.save("ImageAsBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Mẫu mã sau cho thấy cách đặt kiểu nền thành hình ảnh lặp và chỉnh sửa các thuộc tính lặp:
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();
// Đặt hình ảnh được sử dụng cho phần nền.
let backPictureFillFormat = background.getFillFormat().getPictureFillFormat();
backPictureFillFormat.getPicture().setImage(ppImage);
// Đặt chế độ điền ảnh thành Tile và điều chỉnh các thuộc tính của lớp.
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();
}
Thay đổi độ trong suốt của hình ảnh nền
Bạn có thể muốn điều chỉnh độ trong suốt của hình ảnh nền slide để làm nổi bật nội dung slide. Đoạn mã JavaScript sau cho thấy cách thay đổi độ trong suốt cho hình ảnh nền slide:
var transparencyValue = 30; // Ví dụ.
// 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;
}
}
// Set the new transparency value.
if (transparencyOperation == null) {
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
} else {
transparencyOperation.setAmount(100 - transparencyValue);
}
Lấy Giá trị Nền Slide
Aspose.Slides cung cấp lớp BackgroundEffectiveData để truy xuất các giá trị nền hiệu quả của một slide. Lớp này cung cấp FillFormat và EffectFormat hiệu quả.
Bằng cách sử dụng phương thức getBackground của lớp BaseSlide, bạn có thể lấy nền hiệu quả của một slide.
Ví dụ JavaScript sau cho thấy cách lấy giá trị nền hiệu quả của một slide:
// Tạo một thể hiện của lớp Presentation.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
// Lấy nền hiệu quả, tính đến master, layout và theme.
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
Tôi có thể đặt lại nền tùy chỉnh và khôi phục lại nền theme/layout không?
Có. Xóa phần fill tùy chỉnh của slide, và nền sẽ được kế thừa lại từ slide layout/master tương ứng (tức là theme background).
Điều gì sẽ xảy ra với nền nếu tôi thay đổi theme của bài thuyết trình sau này?
Nếu một slide có fill riêng, nó sẽ không thay đổi. Nếu nền được kế thừa từ layout/master, nó sẽ cập nhật để phù hợp với theme mới.