Java FInd และแทนที่ข้อความใน PowerPoint

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 นอกจากนี้ คุณสามารถแจ้งให้เราทราบเกี่ยวกับข้อสงสัยของคุณผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย