MS PowerPoint มีคุณสมบัติที่เป็นประโยชน์ในการค้นหาและแทนที่ข้อความในงานนำเสนอ อย่างไรก็ตาม คุณอาจต้องการระบบอัตโนมัติเพื่อดำเนินการนี้กับชุดไฟล์ ดังนั้น ในบทความนี้ คุณจะได้เรียนรู้วิธีค้นหาและแทนที่ข้อความใน PowerPoint PPTX/PPT โดยทางโปรแกรมโดยใช้ Java
Java API เพื่อค้นหาและแทนที่ข้อความใน PowerPoint
เพื่อค้นหาและแทนที่ข้อความในงานนำเสนอ PPTX/PPT เราจะใช้ Aspose.Slides for Java เป็น API ที่มีประสิทธิภาพในการสร้าง จัดการ และแปลงงานนำเสนอ PowerPoint จากภายในแอปพลิเคชัน Java ของคุณ คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
ค้นหาและแทนที่ข้อความใน PowerPoint PPTX โดยใช้ Java
ต่อไปนี้เป็นขั้นตอนในการค้นหาและแทนที่ข้อความในงานนำเสนอ PPTX โดยใช้ Java
- ก่อนอื่น ให้โหลดงานนำเสนอ PowerPoint โดยใช้คลาส Presentation
- จากนั้น วนซ้ำแต่ละ ISlide ในงานนำเสนอ
- ในการวนซ้ำแต่ละครั้ง รับกรอบข้อความในอาร์เรย์ ITextFrame
- สำหรับแต่ละ ITextFrame ให้ดำเนินการต่อไปนี้:
- วนซ้ำ IParagraphCollection ในแต่ละกรอบข้อความ
- เข้าถึง IPortionCollection ในแต่ละ IParagraph
- เข้าถึงข้อความของแต่ละ IPortion โดยใช้เมธอด IPortion.getText() และตรวจสอบว่ามีสตริงการค้นหาหรือไม่
- ถ้าใช่ ค้นหาตำแหน่งของสตริงการค้นหาและแทนที่โดยใช้เมธอด IPortion.setText()
- สุดท้าย บันทึกงานนำเสนอที่อัปเดตโดยใช้เมธอด Presentation.save(string, SaveFormat)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาและแทนที่ข้อความในงานนำเสนอ PowerPoint
// โหลดงานนำเสนอ
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// วนซ้ำแต่ละสไลด์
for (ISlide slide : pres.getSlides()) {
// รับกรอบข้อความทั้งหมดในสไลด์
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// ค้นหาข้อความที่จะแทนที่
if (port.getText().contains(strToFind)) {
// แทนที่ข้อความที่มีอยู่ด้วยข้อความใหม่
String str = port.getText();
int idx = str.indexOf(strToFind);
String strStartText = str.substring(0, idx);
String strEndText = str.substring(idx + strToFind.length(),
str.length() - 1 - (idx + strToFind.length() - 1));
port.setText(strStartText + strToReplaceWith + strEndText);
}
}
// บันทึกงานนำเสนอ
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
รับใบอนุญาต API ฟรี
คุณสามารถใช้ Aspose.Slides for Java ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีค้นหาและแทนที่ข้อความในงานนำเสนอ PowerPoint โดยทางโปรแกรมโดยใช้ Java คุณสามารถผสานรวม API และตัวอย่างโค้ดที่ให้มาในแอปพลิเคชัน Java ของคุณได้ง่ายๆ นอกจากนี้ คุณสามารถไปที่ เอกสารประกอบ เพื่อสำรวจคุณสมบัติอื่นๆ ของ Aspose.Slides for Java นอกจากนี้ คุณสามารถแจ้งให้เราทราบเกี่ยวกับข้อสงสัยของคุณผ่านทาง ฟอรัม