MS PowerPoint cung cấp một tính năng hữu ích để tìm và thay thế văn bản trong bản trình bày. Tuy nhiên, bạn có thể cần tự động hóa để thực hiện thao tác này cho một loạt tệp. Theo đó, trong bài viết này, bạn sẽ học cách tìm và thay thế văn bản trong PowerPoint PPTX / PPT theo lập trình bằng Java.
Java API để tìm và thay thế văn bản trong PowerPoint
Để tìm và thay thế văn bản trong bản trình bày PPTX / PPT, chúng tôi sẽ sử dụng Aspose.Slides for Java. Nó là một API mạnh mẽ để tạo, thao tác và chuyển đổi các bản trình bày PowerPoint từ bên trong các ứng dụng Java của bạn. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.
<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>
Tìm và thay thế văn bản trong PowerPoint PPTX bằng Java
Sau đây là các bước để tìm và thay thế văn bản trong bản trình bày PPTX bằng Java.
- Đầu tiên, tải bản trình bày PowerPoint bằng lớp Trình bày.
- Sau đó, lặp qua từng ISlide trong bản trình bày.
- Trong mỗi lần lặp, lấy các khung văn bản trong mảng ITextFrame.
- Đối với mỗi ITextFrame, hãy thực hiện các thao tác sau:
- Lặp qua IParagraphCollection trong mỗi khung văn bản.
- Truy cập IPortionCollection trong mỗi IParagraph.
- Truy cập văn bản của mỗi IPortion bằng phương thức IPortion.getText() và kiểm tra xem nó có chứa chuỗi tìm kiếm hay không.
- Nếu có, hãy tìm vị trí của chuỗi tìm kiếm và thay thế nó bằng phương thức IPortion.setText().
- Cuối cùng, lưu bản trình bày đã cập nhật bằng phương thức Presentation.save (string, SaveFormat).
Mẫu mã sau đây cho biết cách tìm và thay thế văn bản trong bản trình bày PowerPoint.
// Tải bản trình bày
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Lặp qua từng trang trình bày
for (ISlide slide : pres.getSlides()) {
// Nhận tất cả các khung văn bản trong trang chiếu
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Tìm văn bản cần thay thế
if (port.getText().contains(strToFind)) {
// Thay thế văn bản exisitng bằng văn bản mới
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);
}
}
// Lưu bản trình bày
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Nhận giấy phép API miễn phí
Bạn có thể sử dụng Aspose.Slides for Java mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời.
Sự kết luận
Trong bài viết này, bạn đã học cách tìm và thay thế văn bản trong bản trình bày PowerPoint theo chương trình bằng Java. Bạn có thể chỉ cần tích hợp API và mẫu mã được cung cấp trong các ứng dụng Java của mình. Ngoài ra, bạn có thể truy cập tài liệu để khám phá các tính năng khác của Aspose.Slides for Java. Hơn nữa, bạn có thể cho chúng tôi biết về các thắc mắc của bạn qua diễn đàn của chúng tôi.