จัดการซูเปอร์สคริปต์และซับสคริปต์ในงานนำเสนอด้วย JavaScript

ภาพรวม

Aspose.Slides มีฟีเจอร์สำหรับรวมข้อความซูเปอร์สคริปต์และซับสคริปต์เข้าไปในงานนำเสนอ PowerPoint (PPT, PPTX) และ OpenDocument (ODP) ของคุณ ไม่ว่าคุณจะต้องการเน้นสูตรเคมี สมการคณิตศาสตร์ หรืออธิบายเนื้อหาด้วยหมายเหตุส่วนล่าง ตัวเลือกการจัดรูปแบบพิเศษเหล่านี้ช่วยให้คงความชัดเจนและแม่นยำได้ ในบทความนี้คุณจะได้เรียนรู้วิธีใช้สไตล์ซูเปอร์สคริปต์และซับสคริปต์อย่างราบรื่นและทำให้สไลด์ทุกสไลด์ดูเป็นมืออาชีพ

จัดการข้อความซูเปอร์สคริปต์และซับสคริปต์

คุณสามารถเพิ่มข้อความซูเปอร์สคริปต์และซับสคริปต์ภายในส่วนของย่อหน้าใดก็ได้ เพื่อเพิ่มข้อความ Superscript หรือ Subscript ในกรอบข้อความของ Aspose.Slides จะต้องใช้เมธอด setEscapement ของคลาส PortionFormat

คุณสมบัตินี้คืนค่า หรือกำหนดค่าข้อความซูเปอร์สคริปต์หรือซับสคริปต์ (ค่าตั้งแต่ -100% (ซับสคริปต์) ถึง 100% (ซูเปอร์สคริปต์)) ตัวอย่างเช่น:

  • สร้างอินสแตนซ์ของคลาส Presentation
  • ดึงอ้างอิงของสไลด์โดยใช้ Index ของมัน
  • เพิ่ม AutoShape ประเภท Rectangle ลงในสไลด์
  • เข้าถึง TextFrame ที่เชื่อมโยงกับ AutoShape
  • ล้าง Paragraphs ที่มีอยู่
  • สร้างวัตถุย่อหน้าใหม่เพื่อเก็บข้อความซูเปอร์สคริปต์และเพิ่มลงใน Paragraphs collection ของ TextFrame
  • สร้างวัตถุ Portion ใหม่
  • กำหนดค่า Escapement สำหรับ Portion ระหว่าง 0 ถึง 100 เพื่อเพิ่มซูเปอร์สคริปต์ (0 หมายถึงไม่มีซูเปอร์สคริปต์)
  • ตั้งข้อความสำหรับ Portion แล้วเพิ่มลงในคอลเลกชัน Portion ของย่อหน้า
  • สร้างวัตถุย่อหน้าใหม่เพื่อเก็บข้อความซับสคริปต์และเพิ่มลงใน IParagraphs collection ของ ITextFrame
  • สร้างวัตถุ Portion ใหม่
  • กำหนดค่า Escapement สำหรับ Portion ระหว่าง 0 ถึง -100 เพื่อเพิ่มซับสคริปต์ (0 หมายถึงไม่มีซับสคริปต์)
  • ตั้งข้อความสำหรับ Portion แล้วเพิ่มลงในคอลเลกชัน Portion ของย่อหน้า
  • บันทึกงานนำเสนอเป็นไฟล์ PPTX

การดำเนินการตามขั้นตอนข้างต้นแสดงไว้ด้านล่าง

// สร้างอินสแตนซ์ของคลาส Presentation ที่แสดงถึงไฟล์ PPTX
var pres = new aspose.slides.Presentation();
try {
    // ดึงสไลด์
    var slide = pres.getSlides().get_Item(0);
    // สร้างกล่องข้อความ
    var shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 100, 200, 100);
    var textFrame = shape.getTextFrame();
    textFrame.getParagraphs().clear();
    // สร้างย่อหน้าสำหรับข้อความซูเปอร์สคริปต์
    var superPar = new aspose.slides.Paragraph();
    // สร้าง Portion ด้วยข้อความธรรมดา
    var portion1 = new aspose.slides.Portion();
    portion1.setText("SlideTitle");
    superPar.getPortions().add(portion1);
    // สร้าง Portion ด้วยข้อความซูเปอร์สคริปต์
    var superPortion = new aspose.slides.Portion();
    superPortion.getPortionFormat().setEscapement(30);
    superPortion.setText("TM");
    superPar.getPortions().add(superPortion);
    // สร้างย่อหน้าสำหรับข้อความซับสคริปต์
    var paragraph2 = new aspose.slides.Paragraph();
    // สร้าง Portion ด้วยข้อความธรรมดา
    var portion2 = new aspose.slides.Portion();
    portion2.setText("a");
    paragraph2.getPortions().add(portion2);
    // สร้าง Portion ด้วยข้อความซับสคริปต์
    var subPortion = new aspose.slides.Portion();
    subPortion.getPortionFormat().setEscapement(-25);
    subPortion.setText("i");
    paragraph2.getPortions().add(subPortion);
    // เพิ่มย่อหน้าลงในกล่องข้อความ
    textFrame.getParagraphs().add(superPar);
    textFrame.getParagraphs().add(paragraph2);
    pres.save("formatText.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

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

ซูเปอร์สคริปต์และซับสคริปต์จะยังคงอยู่เมื่อส่งออกเป็น PDF หรือฟอร์แมตอื่นหรือไม่?

ใช่, Aspose.Slides จะเก็บรูปแบบซูเปอร์สคริปต์และซับสคริปต์อย่างถูกต้องเมื่อส่งออกงานนำเสนอเป็น PDF, PPT/PPTX, รูปภาพและฟอร์แมตที่สนับสนุนอื่น ๆ รูปแบบพิเศษจะคงอยู่ในไฟล์ผลลัพธ์ทั้งหมด

สามารถผสมซูเปอร์สคริปต์และซับสคริปต์กับสไตล์การจัดรูปแบบอื่น ๆ เช่น ตัวหนา หรือ ตัวเอียงได้หรือไม่?

ใช่, Aspose.Slides อนุญาตให้คุณผสานสไตล์ข้อความต่าง ๆ ภายใน Portion เดียวกัน คุณสามารถเปิดใช้งานตัวหนา, ตัวเอียง, ขีดเส้นใต้ และพร้อมกันนั้นใช้ซูเปอร์สคริปต์หรือซับสคริปต์โดยกำหนดคุณสมบัติที่เกี่ยวข้องใน PortionFormat

ซูเปอร์สคริปต์และซับสคริปต์ทำงานกับข้อความภายในตาราง, แผนภูมิ, หรือ SmartArt ได้หรือไม่?

ใช่, Aspose.Slides รองรับการจัดรูปแบบภายในออบเจ็กต์ส่วนใหญ่รวมถึงตารางและองค์ประกอบของแผนภูมิ เมื่อทำงานกับ SmartArt คุณต้องเข้าถึงอิลีเมนต์ที่เกี่ยวข้อง (เช่น SmartArtNode) และคอนเทนเนอร์ข้อความของมัน จากนั้นกำหนดคุณสมบัติของ PortionFormat ในลักษณะเดียวกัน.