จัดการส่วนหัวและส่วนท้ายของพรีเซนเทชันใน Java

ภาพรวม

Aspose.Slides ช่วยให้คุณจัดการการตั้งค่าส่วนหัวและส่วนท้ายในงานนำเสนอ PowerPoint ได้ ส่วนหัวและส่วนท้ายจะถูกจัดการระดับมาสเตอร์ของพรีเซนเทชัน และ API มีเมธอดสำหรับตั้งค่าข้อความส่วนท้าย, เปลี่ยนการมองเห็นของส่วนท้าย, และอัปเดตข้อความส่วนหัวบนสไลด์โน้ตมาสเตอร์

คุณสามารถจัดการส่วนหัวและส่วนท้ายสำหรับสไลด์ Handout และ Notes ได้เช่นกัน ซึ่งรวมถึงการเปลี่ยนการมองเห็นและข้อความของส่วนหัว, ส่วนท้าย, หมายเลขสไลด์, และตัวแสดงวันที่‑เวลา สำหรับโน้ตมาสเตอร์, สไลด์โน้ตลูกทั้งหมด, หรือสไลด์โน้ตคนเดียว

จัดการส่วนหัวและส่วนท้ายในพรีเซนเทชัน

บันทึกของสไลด์บางสไลด์อาจถูกลบตามที่แสดงในตัวอย่างด้านล่าง:

// โหลดพรีเซนเทชัน
Presentation pres = new Presentation("headerTest.pptx");
try {
    // ตั้งค่าส่วนท้าย
    pres.getHeaderFooterManager().setAllFootersText("My Footer text");
    pres.getHeaderFooterManager().setAllFootersVisibility(true);

    // เข้าถึงและอัปเดตส่วนหัว
    IMasterNotesSlide masterNotesSlide = pres.getMasterNotesSlideManager().getMasterNotesSlide();
    if (null != masterNotesSlide)
    {
        updateHeaderFooterText(masterNotesSlide);
    }

    // บันทึกพรีเซนเทชัน
    pres.save("HeaderFooterJava.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
// วิธีการตั้งค่าข้อความส่วนหัว/ส่วนท้าย
public static void updateHeaderFooterText(IBaseSlide master)
{
    for (IShape shape : master.getShapes())
    {
        if (shape.getPlaceholder() != null)
        {
            if (shape.getPlaceholder().getType() == PlaceholderType.Header)
            {
                ((IAutoShape)shape).getTextFrame().setText("HI there new header");
            }
        }
    }
}

จัดการส่วนหัวและส่วนท้ายในสไลด์ Handout และ Notes

Aspose.Slides for Java รองรับส่วนหัวและส่วนท้ายในสไลด์ Handout และ Notes กรุณาปฏิบัติตามขั้นตอนด้านล่าง:

  • โหลด การพรีเซนเทชัน ที่มีวิดีโอ
  • เปลี่ยนการตั้งค่าส่วนหัวและส่วนท้ายสำหรับโน้ตมาสเตอร์และสไลด์โน้ตทั้งหมด
  • ทำให้ตัวแทนส่วนท้ายของโน้ตมาสเตอร์และลูกทั้งหมดมองเห็นได้
  • ทำให้ตัวแทนวันที่และเวลาของโน้ตมาสเตอร์และลูกทั้งหมดมองเห็นได้
  • เปลี่ยนการตั้งค่าส่วนหัวและส่วนท้ายสำหรับสไลด์โน้ตแรกเท่านั้น
  • ทำให้ตัวแทนส่วนหัวของสไลด์โน้ตมองเห็นได้
  • ตั้งค่าข้อความให้กับตัวแทนส่วนหัวของสไลด์โน้ต
  • ตั้งค่าข้อความให้กับตัวแทนวันที่‑เวลา ของสไลด์โน้ต
  • เขียนไฟล์พรีเซนเทชันที่แก้ไขแล้ว

โค้ดตัวอย่างที่ให้ไว้ในตัวอย่างด้านล่าง

Presentation pres = new Presentation("presentation.pptx");
try {
    // เปลี่ยนการตั้งค่าส่วนหัวและส่วนท้ายสำหรับโน้ตมาสเตอร์และสไลด์โน้ตทั้งหมด
    IMasterNotesSlide masterNotesSlide = pres.getMasterNotesSlideManager().getMasterNotesSlide();
    if (masterNotesSlide != null)
    {
        IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderAndChildHeadersVisibility(true); // ทำให้สไลด์โน้ตมาสเตอร์และตัวแทน Footer ของลูกทั้งหมดมองเห็นได้
        headerFooterManager.setFooterAndChildFootersVisibility(true); // ทำให้สไลด์โน้ตมาสเตอร์และตัวแทน Header ของลูกทั้งหมดมองเห็นได้
        headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true); // ทำให้สไลด์โน้ตมาสเตอร์และตัวแทน SlideNumber ของลูกทั้งหมดมองเห็นได้
        headerFooterManager.setDateTimeAndChildDateTimesVisibility(true); // ทำให้สไลด์โน้ตมาสเตอร์และตัวแทน Date and time ของลูกทั้งหมดมองเห็นได้

        headerFooterManager.setHeaderAndChildHeadersText("Header text"); // ตั้งค่าข้อความให้สไลด์โน้ตมาสเตอร์และตัวแทน Header ของลูกทั้งหมด
        headerFooterManager.setFooterAndChildFootersText("Footer text"); // ตั้งค่าข้อความให้สไลด์โน้ตมาสเตอร์และตัวแทน Footer ของลูกทั้งหมด
        headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text"); // ตั้งค่าข้อความให้สไลด์โน้ตมาสเตอร์และตัวแทน Date and time ของลูกทั้งหมด
    }

    // เปลี่ยนการตั้งค่าส่วนหัวและส่วนท้ายสำหรับสไลด์โน้ตแรกเท่านั้น
    INotesSlide notesSlide = pres.getSlides().get_Item(0).getNotesSlideManager().getNotesSlide();
    if (notesSlide != null)
    {
        INotesSlideHeaderFooterManager headerFooterManager = notesSlide.getHeaderFooterManager();
        if (!headerFooterManager.isHeaderVisible())
            headerFooterManager.setHeaderVisibility(true); // ทำให้ตัวแทน Header ของสไลด์โน้ตนี้มองเห็นได้

        if (!headerFooterManager.isFooterVisible())
            headerFooterManager.setFooterVisibility(true); // ทำให้ตัวแทน Footer ของสไลด์โน้ตนี้มองเห็นได้

        if (!headerFooterManager.isSlideNumberVisible())
            headerFooterManager.setSlideNumberVisibility(true); // ทำให้ตัวแทน SlideNumber ของสไลด์โน้ตนี้มองเห็นได้

        if (!headerFooterManager.isDateTimeVisible())
            headerFooterManager.setDateTimeVisibility(true); // ทำให้ตัวแทน Date-time ของสไลด์โน้ตนี้มองเห็นได้

        headerFooterManager.setHeaderText("New header text"); // ตั้งค่าข้อความให้ตัวแทน Header ของสไลด์โน้ต
        headerFooterManager.setFooterText("New footer text"); // ตั้งค่าข้อความให้ตัวแทน Footer ของสไลด์โน้ต
        headerFooterManager.setDateTimeText("New date and time text"); // ตั้งค่าข้อความให้ตัวแทน Date-time ของสไลด์โน้ต
    }
    pres.save("testresult.pptx",SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

คำถามที่พบบ่อย

ฉันสามารถเพิ่ม “ส่วนหัว” ให้กับสไลด์ทั่วไปได้ไหม?

ใน PowerPoint “ส่วนหัว” มีเฉพาะสำหรับโน้ตและ Handout; สำหรับสไลด์ทั่วไปที่รองรับคือส่วนท้าย, วันที่/เวลา, และหมายเลขสไลด์ เท่านั้น ใน Aspose.Slides จะมีข้อจำกัดเดียวกัน: ส่วนหัวใช้ได้เฉพาะกับโน้ต/Handout, ส่วนสไลด์ทั่วไป—ส่วนท้าย/DateTime/SlideNumber

ถ้าเลเอาต์ไม่มีพื้นที่ส่วนท้าย—ฉันจะเปิดการมองเห็นได้หรือไม่?

ได้ ตรวจสอบการมองเห็นผ่านผู้จัดการส่วนหัว/ส่วนท้ายและเปิดใช้งานหากต้องการ ตัวบ่งชี้และเมธอดของ API นี้ออกแบบมาสำหรับกรณีที่ตัวแทนหายไปหรือถูกซ่อน

ฉันจะทำให้หมายเลขสไลด์เริ่มจากค่าที่ไม่ใช่ 1 ได้อย่างไร?

ตั้งค่า หมายเลขสไลด์แรก; หลังจากนั้นหมายเลขทั้งหมดจะถูกคำนวณใหม่ ตัวอย่างเช่น สามารถเริ่มจาก 0 หรือ 10 และซ่อนหมายเลขบนสไลด์หัวเรื่องได้

ส่วนหัว/ส่วนท้ายจะเกิดอะไรขึ้นเมื่อส่งออกเป็น PDF/รูปภาพ/HTML?

พวกมันจะถูกเรนเดอร์เป็นองค์ประกอบข้อความทั่วไปของพรีเซนเทชัน นั่นหมายความว่าถ้าหน่วยเหล่านั้นมองเห็นได้บนสไลด์/หน้าโน้ต พวกมันก็จะปรากฏในรูปแบบผลลัพธ์พร้อมกับเนื้อหาอื่น ๆ