SmartArt trong bản trình bày được sử dụng để cung cấp thông tin ở dạng trực quan. Đôi khi, nó được chọn để làm cho văn bản đơn giản trở nên hấp dẫn hơn. Trong khi đó, trong các trường hợp khác, nó được sử dụng để trình bày sơ đồ luồng, quy trình, mối quan hệ giữa các thực thể khác nhau, v.v. Trong bài viết này, bạn sẽ học cách tạo SmartArt trong bản trình bày PowerPoint lập trình bằng C#.

.NET API để tạo SmartArt trong PowerPoint

Để làm việc với SmartArt trong bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for .NET. Nó là một thư viện lớp mạnh mẽ để tạo và thao tác các bài thuyết trình PowerPoint và OpenOffice. Bạn có thể cài đặt API qua NuGet hoặc tải xuống DLL của nó.

PM> Install-Package Aspose.Slides.NET

Tạo Hình dạng SmartArt trong PowerPoint bằng C#

Aspose.Slides for .NET cung cấp cách dễ nhất để tạo các hình SmartArt trong bản trình bày. Để trình diễn, hãy tạo hình SmartArt từ đầu trong bản trình bày PowerPoint bằng C#.

Mẫu mã sau đây cho biết cách tạo hình SmartArt trong bản trình bày PowerPoint.

// Tạo bản trình bày hoặc tải bản trình bày hiện có
using (Presentation pres = new Presentation())
{
    // Truy cập trang trình bày
    ISlide slide = pres.Slides[0];

    // Thêm hình dạng SmartArt
    ISmartArt smart = slide.Shapes.AddSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    smart.AllNodes[0].TextFrame.Text = "First Block";
    smart.AllNodes[1].TextFrame.Text = "Second Block";
    
    // Lưu bản trình bày
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Ảnh chụp màn hình sau đây cho thấy đầu ra của mẫu mã trên.

Tạo SmartArt trong PowerPoint C#

Truy cập Hình dạng SmartArt trong PowerPoint bằng C#

Bạn cũng có thể truy cập các hình SmartArt trong các bản trình bày PowerPoint hiện có. Sau khi truy cập, bạn có thể sửa đổi chúng theo yêu cầu. Sau đây là các bước để truy cập các hình SmartArt trong bản trình bày PowerPoint bằng C#.

  • Tạo bản trình bày mới hoặc tải bản trình bày hiện có bằng lớp Trình bày.
  • Nhận tham chiếu của trang trình bày mong muốn vào đối tượng ISlide.
  • Lặp qua các hình dạng trong trang chiếu bằng bộ sưu tập ISlide.Shapes.
  • Nếu hình dạng thuộc loại ISmartArt, thì lấy tham chiếu của nó vào đối tượng ISmartArt.
  • Nếu được yêu cầu, hãy lọc các hình dạng SmartArt của một bố cục cụ thể bằng thuộc tính ISmartArt.Layout.

Mẫu mã sau đây cho thấy cách truy cập hình dạng SmartArt trong bản trình bày PowerPoint.

// Tải bản trình bày
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
    // Lặp lại mọi hình dạng bên trong trang trình bày mong muốn
    foreach (IShape shape in pres.Slides[0].Shapes)
    {
        // Kiểm tra xem hình dạng có thuộc loại SmartArt không
        if (shape is ISmartArt)
        {
            // Đánh máy hình dạng sang SmartArt
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // Kiểm tra bố cục SmartArt
            //if (smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{
            //   Console.WriteLine ("Làm một số việc ở đây ....");
            //}
        }
    }
}

Thay đổi kiểu của SmartArt Shape bằng C#

Khi bạn đã truy cập vào một hình dạng SmartArt, bạn cũng có thể thay đổi kiểu của nó. Các bước sau đây trình bày cách thay đổi kiểu của các hình SmartArt trong bản trình bày PowerPoint bằng C#.

Mẫu mã sau đây cho thấy cách thay đổi kiểu của các hình SmartArt trong bản trình bày PowerPoint.

// Tải bản trình bày
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // Duyệt qua mọi hình dạng bên trong trang trình bày đầu tiên
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // Kiểm tra xem hình dạng có thuộc loại SmartArt không
        if (shape is ISmartArt)
        {
            // Đánh máy hình dạng thành SmartArt
            ISmartArt smart = (ISmartArt)shape;

            // Kiểm tra kiểu SmartArt
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // Thay đổi kiểu SmartArt
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // Kiểm tra loại màu SmartArt
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // Thay đổi loại màu SmartArt
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // Lưu bản trình bày
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

Nhận giấy phép API miễn phí

Nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Slides for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài này, bạn đã học cách tạo SmartArt trong bản trình bày PowerPoint bằng C#. Hơn nữa, bạn đã thấy cách truy cập các hình SmartArt và thay đổi kiểu của chúng theo lập trình. Bạn có thể khám phá tài liệu để tìm hiểu thêm về Aspose.Slides for .NET. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.

Xem thêm