ปรับใช้หรือเปลี่ยนเค้าโครงสไลด์ใน JavaScript
บทนำ
เค้าโครงสไลด์กำหนดการจัดเรียงของกล่องตัวเก็บตำแหน่งและการจัดรูปแบบสำหรับเนื้อหาบนสไลด์ มันควบคุมว่าตัวเก็บตำแหน่งใดบ้างที่พร้อมใช้งานและปรากฏที่ใด เค้าโครงสไลด์ช่วยให้คุณออกแบบการนำเสนอได้อย่างรวดเร็วและสม่ำเสมอ—ไม่ว่าคุณจะสร้างอะไรที่ง่ายหรือซับซ้อนบางอย่าง เค้าโครงสไลด์ที่พบบ่อยที่สุดใน PowerPoint ได้แก่:
เค้าโครงสไลด์หัวเรื่อง – มีตัวเก็บตำแหน่งข้อความสองอัน: อันหนึ่งสำหรับหัวเรื่องและอีกอันสำหรับหัวข้อรอง
เค้าโครงหัวเรื่องและเนื้อหา – มีตัวเก็บตำแหน่งหัวเรื่องขนาดเล็กที่ด้านบนและตัวใหญ่กว่าที่ด้านล่างสำหรับเนื้อหาหลัก (เช่น ข้อความ, จุดตัวอักษร, แผนภูมิ, รูปภาพ, และอื่น ๆ)
เค้าโครงว่าง – ไม่มีตัวเก็บตำแหน่งใด ๆ ให้คุณควบคุมเต็มที่ในการออกแบบสไลด์ตั้งแต่ต้น
เค้าโครงสไลด์เป็นส่วนหนึ่งของมาสเตอร์สไลด์ ซึ่งเป็นสไลด์ระดับบนสุดที่กำหนดสไตล์เค้าโครงสำหรับการนำเสนอ คุณสามารถเข้าถึงและแก้ไขเค้าโครงสไลด์ผ่านมาสเตอร์สไลด์—โดยใช้ประเภท, ชื่อ, หรือรหัสประจำตัวแบบยูนีค หรือคุณสามารถแก้ไขเค้าโครงสไลด์เฉพาะโดยตรงในงานนำเสนอได้
เพื่อทำงานกับเค้าโครงสไลด์ใน Aspose.Slides for Node.js, คุณสามารถใช้:
- วิธีการเช่น getLayoutSlides และ getMasters ภายใต้คลาส Presentation
- ชนิดเช่น LayoutSlide, MasterLayoutSlideCollection, LayoutPlaceholderManager, และ LayoutSlideHeaderFooterManager
Info
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานกับมาสเตอร์สไลด์, ดูบทความ Slide Masterเพิ่มเค้าโครงสไลด์ไปยังการนำเสนอ
เพื่อปรับลักษณะและโครงสร้างของสไลด์ ให้คุณอาจจำเป็นต้องเพิ่มเค้าโครงสไลด์ใหม่ไปยังงานนำเสนอ Aspose.Slides for Node.js ให้คุณตรวจสอบว่าเค้าโครงที่ระบุมีอยู่แล้วหรือไม่ เพิ่มใหม่หากจำเป็น และใช้เพื่อแทรกสไลด์ตามเค้าโครงนั้น
- สร้างอินสแตนซ์ของคลาส Presentation
- เข้าถึง MasterLayoutSlideCollection
- ตรวจสอบว่าเค้าโครงสไลด์ที่ต้องการมีอยู่ในคอลเลกชันแล้วหรือไม่ หากไม่มีให้เพิ่มเค้าโครงสไลด์ที่คุณต้องการ
- เพิ่มสไลด์เปล่าตามเค้าโครงสไลด์ใหม่
- บันทึกงานนำเสนอ
โค้ด JavaScript ต่อไปนี้แสดงวิธีเพิ่มเค้าโครงสไลด์ไปยังงานนำเสนอ PowerPoint:
// สร้างอินสแตนซ์ของคลาส Presentation ที่แสดงไฟล์ PowerPoint.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
// ตรวจสอบประเภทเค้าโครงสไลด์เพื่อเลือกเค้าโครงสไลด์.
let layoutSlides = presentation.getMasters().get_Item(0).getLayoutSlides();
let layoutSlide = null;
if (layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject)) != null) {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject));
} else {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.Title));
}
if (layoutSlide == null) {
// สถานการณ์ที่งานนำเสนอไม่มีเค้าโครงทุกรูปแบบ.
// ไฟล์งานนำเสนอมีเพียงเค้าโครงประเภท Blank และ Custom เท่านั้น.
// อย่างไรก็ตาม เค้าโครงสไลด์ที่เป็นประเภท custom อาจมีชื่อที่จำได้,
// เช่น "Title", "Title and Content" เป็นต้น ซึ่งสามารถใช้เพื่อเลือกเค้าโครงสไลด์ได้.
// คุณยังสามารถอาศัยชุดประเภทรูปร่างตัวเก็บตำแหน่งได้.
// ตัวอย่างเช่น สไลด์ Title ควรมีเพียงประเภทตัวเก็บตำแหน่ง Title เท่านั้น เป็นต้น.
for (let i = 0; i < layoutSlides.size(); i++) {
let titleAndObjectLayoutSlide = layoutSlides.get_Item(i);
if (titleAndObjectLayoutSlide.getName() === "Title and Object") {
layoutSlide = titleAndObjectLayoutSlide;
break;
}
}
if (layoutSlide == null) {
for (let i = 0; i < layoutSlides.size(); i++) {
let titleLayoutSlide = layoutSlides.get_Item(i);
if (titleLayoutSlide.getName() === "Title") {
layoutSlide = titleLayoutSlide;
break;
}
}
if (layoutSlide == null) {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.Blank));
if (layoutSlide == null) {
layoutSlide = layoutSlides.add(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject), "Title and Object");
}
}
}
}
// เพิ่มสไลด์เปล่าโดยใช้เค้าโครงสไลด์ที่เพิ่มไว้.
presentation.getSlides().insertEmptySlide(0, layoutSlide);
// บันทึกงานนำเสนอลงดิสก์.
presentation.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ลบเค้าโครงสไลด์ที่ไม่ได้ใช้
Aspose.Slides ให้วิธีการ removeUnusedLayoutSlides จากคลาส Compress เพื่อให้คุณลบเค้าโครงสไลด์ที่ไม่ต้องการและไม่ได้ใช้
โค้ด JavaScript ต่อไปนี้แสดงวิธีลบเค้าโครงสไลด์จากงานนำเสนอ PowerPoint:
let presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
aspose.slides.Compress.removeUnusedLayoutSlides(presentation);
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
เพิ่มตัวเก็บตำแหน่งลงในเค้าโครงสไลด์
Aspose.Slides ให้วิธีการ LayoutSlide.getPlaceholderManager ซึ่งช่วยให้คุณเพิ่มตัวเก็บตำแหน่งใหม่ลงในเค้าโครงสไลด์
ผู้จัดการนี้มีวิธีการสำหรับประเภทตัวเก็บตำแหน่งต่อไปนี้:
| ตัวเก็บตำแหน่ง PowerPoint | เมธอด LayoutPlaceholderManager |
|---|---|
![]() |
addContentPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalContentPlaceholder(float x, float y, float width, float height) |
![]() |
addTextPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalTextPlaceholder(float x, float y, float width, float height) |
![]() |
addPicturePlaceholder(float x, float y, float width, float height) |
![]() |
addChartPlaceholder(float x, float y, float width, float height) |
![]() |
addTablePlaceholder(float x, float y, float width, float height) |
![]() |
addSmartArtPlaceholder(float x, float y, float width, float height) |
![]() |
addMediaPlaceholder(float x, float y, float width, float height) |
![]() |
addOnlineImagePlaceholder(float x, float y, float width, float height) |
โค้ด JavaScript ต่อไปนี้แสดงวิธีเพิ่มรูปทรงตัวเก็บตำแหน่งใหม่ลงในเค้าโครงสไลด์ Blank:
let presentation = new aspose.slides.Presentation();
try {
// รับเค้าโครงสไลด์ Blank.
let layout = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank));
// รับตัวจัดการตัวเก็บตำแหน่งของเค้าโครงสไลด์.
let placeholderManager = layout.getPlaceholderManager();
// เพิ่มตัวเก็บตำแหน่งต่าง ๆ ลงในเค้าโครงสไลด์ Blank.
placeholderManager.addContentPlaceholder(20, 20, 310, 270);
placeholderManager.addVerticalTextPlaceholder(350, 20, 350, 270);
placeholderManager.addChartPlaceholder(20, 310, 310, 180);
placeholderManager.addTablePlaceholder(350, 310, 350, 180);
// เพิ่มสไลด์ใหม่โดยใช้เค้าโครง Blank.
let newSlide = presentation.getSlides().addEmptySlide(layout);
presentation.save("Placeholders.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ผลลัพธ์:

ตั้งค่าการมองเห็นส่วนท้ายสำหรับเค้าโครงสไลด์
ในงานนำเสนอ PowerPoint, ส่วนท้ายเช่น วันที่, หมายเลขสไลด์, และข้อความที่กำหนดเองสามารถแสดงหรือซ่อนได้ขึ้นอยู่กับเค้าโครงสไลด์ Aspose.Slides for Node.js ให้คุณควบคุมการมองเห็นของตัวเก็บตำแหน่งส่วนท้ายเหล่านี้ ซึ่งเป็นประโยชน์เมื่อคุณต้องการให้บางเค้าโครงแสดงข้อมูลส่วนท้ายในขณะที่เค้าโครงอื่น ๆ ดูสะอาดและเรียบง่าย
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงเค้าโครงสไลด์ตามดัชนี
- ตั้งค่าตัวเก็บตำแหน่งส่วนท้ายของสไลด์ให้เป็นแบบมองเห็น
- ตั้งค่าตัวเก็บตำแหน่งหมายเลขสไลด์ให้เป็นแบบมองเห็น
- ตั้งค่าตัวเก็บตำแหน่งวันที่‑เวลาให้เป็นแบบมองเห็น
- บันทึกงานนำเสนอ
โค้ด JavaScript ต่อไปนี้แสดงวิธีตั้งค่าการมองเห็นของส่วนท้ายสไลด์และทำงานที่เกี่ยวข้อง:
let presentation = new aspose.slides.Presentation("Presentation.ppt");
try {
let headerFooterManager = presentation.getLayoutSlides().get_Item(0).getHeaderFooterManager();
if (!headerFooterManager.isFooterVisible()) {
headerFooterManager.setFooterVisibility(true);
}
if (!headerFooterManager.isSlideNumberVisible()) {
headerFooterManager.setSlideNumberVisibility(true);
}
if (!headerFooterManager.isDateTimeVisible()) {
headerFooterManager.setDateTimeVisibility(true);
}
headerFooterManager.setFooterText("Footer text");
headerFooterManager.setDateTimeText("Date and time text");
presentation.save("Presentation.ppt", aspose.slides.SaveFormat.Ppt);
} finally {
presentation.dispose();
}
ตั้งค่าการมองเห็นส่วนท้ายของลูกสำหรับสไลด์
ในงานนำเสนอ PowerPoint, ส่วนท้ายเช่น วันที่, หมายเลขสไลด์, และข้อความที่กำหนดเองสามารถควบคุมได้ระดับมาสเตอร์สไลด์เพื่อให้แน่ใจว่ามีความสอดคล้องกันทั่วทั้งเค้าโครงสไลด์ Aspose.Slides for Node.js ช่วยให้คุณตั้งค่าการมองเห็นและเนื้อหาของตัวเก็บตำแหน่งส่วนท้ายเหล่านี้บนมาสเตอร์สไลด์และกระจายการตั้งค่าเหล่านั้นไปยังเค้าโครงสไลด์ลูกทั้งหมด วิธีการนี้ทำให้ข้อมูลส่วนท้ายเป็นแบบเดียวกันทั่วทั้งการนำเสนอ
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงมาสเตอร์สไลด์ตามดัชนี
- ตั้งค่าตัวเก็บตำแหน่งส่วนท้ายของมาสเตอร์และเค้าโครงลูกให้เป็นแบบมองเห็น
- ตั้งค่าตัวเก็บตำแหน่งหมายเลขสไลด์ของมาสเตอร์และเค้าโครงลูกให้เป็นแบบมองเห็น
- ตั้งค่าตัวเก็บตำแหน่งวันที่‑เวลาของมาสเตอร์และเค้าโครงลูกให้เป็นแบบมองเห็น
- บันทึกงานนำเสนอ
โค้ด JavaScript ต่อไปนี้แสดงการดำเนินการนี้:
let presentation = new aspose.slides.Presentation("Presentation.ppt");
try {
let headerFooterManager = presentation.getMasters().get_Item(0).getHeaderFooterManager();
headerFooterManager.setFooterAndChildFootersVisibility(true);
headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);
headerFooterManager.setFooterAndChildFootersText("Footer text");
headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
คำถามที่พบบ่อย
ความแตกต่างระหว่างมาสเตอร์สไลด์และเค้าโครงสไลด์คืออะไร?
มาสเตอร์สไลด์กำหนดธีมโดยรวมและการจัดรูปแบบเริ่มต้น ในขณะที่เค้าโครงสไลด์กำหนดการจัดเรียงเฉพาะของตัวเก็บตำแหน่งสำหรับประเภทเนื้อหาต่าง ๆ
ฉันสามารถคัดลอกเค้าโครงสไลด์จากงานนำเสนอหนึ่งไปยังอีกงานนำเสนอหนึ่งได้หรือไม่?
ใช่ คุณสามารถโคลนเค้าโครงสไลด์จากคอลเลกชันเค้าโครงสไลด์ของงานนำเสนอหนึ่งโดยใช้วิธี getLayoutSlides แล้วแทรกเข้าไปในงานนำเสนออื่นโดยใช้เมธอด addClone
จะเกิดอะไรขึ้นหากฉันลบเค้าโครงสไลด์ที่ยังถูกสไลด์ใช้งานอยู่?
หากคุณพยายามลบเค้าโครงสไลด์ที่ยังอ้างอิงโดยอย่างน้อยหนึ่งสไลด์ในงานนำเสนอ Aspose.Slides จะโยนข้อยกเว้น PptxEditException เพื่อหลีกเลี่ยงปัญหานี้ ให้ใช้ removeUnusedLayoutSlides ซึ่งจะลบเค้าโครงสไลด์ที่ไม่ได้ใช้งานอย่างปลอดภัย









