Tìm và thay thế văn bản thường được sử dụng để cập nhật nội dung trong bản trình bày PowerPoint. Tuy nhiên, để thực hiện thao tác này cho một loạt bản trình bày, bạn cần tự động hóa. Theo đó, bài viết này trình bày cách tìm và thay thế văn bản trong PowerPoint PPTX / PPT theo chương trình bằng C#.
C# 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 PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for .NET. Nó là một API giàu tính năng được thiết kế để tạo và thao tác với các bản trình bày PowerPoint từ bên trong các ứng dụng .NET. Bạn có thể tải xuống API hoặc cài đặt nó bằng NuGet.
PM> Install-Package Aspose.Slides.NET
Tìm và thay thế văn bản trong PowerPoint PPTX bằng C#
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 C#.
- Tải bản trình bày PowerPoint bằng lớp Trình bày.
- Lặp qua từng Trang trình bày 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.
- Lặp qua mảng ITextFrame và trong mỗi lần lặp, hãy thực hiện các thao tác sau:
- Lặp qua ParagraphCollection trong mỗi khung văn bản.
- Truy cập PortionCollection trong mỗi Đoạn.
- Kiểm tra xem Portion.Text 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 cách đặt thuộc tính Portion.Text.
- 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
foreach (Slide slide in pres.Slides)
{
// 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++)
foreach (Paragraph para in tf[i].Paragraphs)
foreach (Portion port in para.Portions)
// Tìm văn bản cần thay thế
if (port.Text.Contains(strToFind))
{
// Thay thế văn bản exisitng bằng văn bản mới
string str = port.Text;
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.Text = 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 .NET mà không có 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
Tính năng tìm và thay thế văn bản trong bản trình bày PowerPoint được sử dụng trong nhiều trường hợp khác nhau. Để tự động hóa thao tác này, bài viết đã trình bày 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 C#. Bạn có thể chỉ cần cài đặt API trong ứng dụng của mình và tích hợp mẫu mã được cung cấp. 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 .NET. Ngoài ra, 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.