ค้นหาแทนที่ Visio csharp

ไฟล์ Visio ใช้เพื่อสร้างไดอะแกรม เช่น แผนผังองค์กร แผนผังลำดับงาน ฯลฯ ไดอะแกรมดังกล่าวประกอบด้วยรูปทรงต่างๆ ซึ่งอาจมีข้อมูลที่เป็นข้อความด้วย ในบางกรณี คุณอาจต้องอัปเดตข้อความเป็นรูปร่างใดๆ ของไดอะแกรม Visio ตามข้อกำหนดดังกล่าว บทความนี้ครอบคลุมวิธีการค้นหาและแทนที่ข้อความในรูปวาด Visio โดยทางโปรแกรมใน C#

ค้นหาและแทนที่ข้อความในไดอะแกรม Visio – การติดตั้ง C# API

Aspose.Diagram for .NET API รองรับการสร้าง แก้ไข และจัดการไฟล์ Visio คุณสามารถกำหนดค่า API ได้ง่ายๆ โดยดาวน์โหลดไฟล์ DLL จากส่วน New Releases หรือคุณสามารถติดตั้ง API จากแกลเลอรี NuGet ด้วยคำสั่งการติดตั้งด้านล่างใน Microsoft Visual Studio:

PM> Install-Package Aspose.Diagram

ค้นหาและแทนที่ข้อความในไดอะแกรม Visio โดยทางโปรแกรมใน C#

ไฟล์ Visio สามารถมีได้หลายรูปร่างในไดอะแกรม คุณสามารถค้นหาและแทนที่ข้อความได้โดยทำตามขั้นตอนด้านล่าง:

  1. เตรียมคอลเลกชันของสตริงข้อความเก่าและใหม่
  2. โหลดไดอะแกรมอินพุตและวนซ้ำในแต่ละรูปร่าง
  3. บันทึกไดอะแกรม Visio เอาต์พุต

ข้อมูลโค้ดต่อไปนี้สาธิตวิธีการค้นหาและแทนที่ข้อความในไฟล์ Visio รูปแบบ VSD หรือ VSDX โดยทางโปรแกรมโดยใช้ C#:

// เตรียมคอลเลกชันข้อความเก่าและใหม่
Dictionary<string, string> replacements = new Dictionary<string, string>();
replacements.Add("[[CompanyName]]", "Research Society of XYZ");
replacements.Add("[[EmployeeName]]", "James Bond");
replacements.Add("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");
replacements.Add("[[TimePeriod]]", DateTime.Now.AddYears(-1).ToString("dd/MMMM/yyyy") + " -- " + DateTime.Now.ToString("dd/MMMM/yyyy"));
replacements.Add("[[SubmissionDate]]", DateTime.Now.AddDays(-7).ToString("dd/MMMM/yyyy"));
replacements.Add("[[AmountReq]]", "$100,000");
replacements.Add("[[DateApproved]]", DateTime.Now.AddDays(1).ToString("dd/MMMM/yyyy"));

// โหลดไดอะแกรม
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// รับหน้าตามชื่อ
Page page = diagram.Pages.GetPage("Page-1");

// ทำซ้ำตามรูปร่างของหน้า
foreach (Shape shape in page.Shapes)
{
    foreach (KeyValuePair<string, string> kvp in replacements)
    {
        foreach (FormatTxt txt in shape.Text.Value)
        {
            Txt tx = txt as Txt;
            if (tx != null && tx.Text.Contains(kvp.Key))
            {
                // ค้นหาและแทนที่ข้อความของรูปร่าง
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// บันทึกไดอะแกรม
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

บทสรุป

โดยสรุป คุณได้เรียนรู้วิธีค้นหาและแทนที่ข้อความในไดอะแกรม Visio ยิ่งไปกว่านั้น คุณสามารถอัปเดตโค้ดตัวอย่างเป็นโอเวอร์โหลดอื่นๆ เพื่อแทนที่ข้อความได้ ตัวอย่างเช่น การแทนที่เฉพาะเหตุการณ์แรกหรือเหตุการณ์ทั้งหมดของข้อความที่ตรงกันตามความต้องการของคุณ คุณอาจเรียนรู้คุณสมบัติอื่นๆ ของ API ได้โดยไปที่ เอกสารประกอบ นอกจากนี้ ในกรณีที่มีข้อสงสัยใดๆ โปรดอย่าลังเลที่จะเขียนถึงเราที่ ฟอรัม

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

แทรกหรือลบส่วนหัวและส่วนท้ายในไฟล์ VSD VSDX ใน C#