מצא החלף Visio Java

קובצי Visio יכולים לכלול צורות, מחברים, תמונות או טקסט כדי לתאר דיאגרמות שונות המשמשות ליצירת דיאגרמות כמו תרשימים ארגוניים, תרשימי זרימה וכו’. בתרחישים מסוימים, ייתכן שתרצה למצוא ולהחליף טקסט בפורמט VSD או VSDX דיאגרמת Visio. בהתאם לכך, מאמר זה מסביר כיצד למצוא ולהחליף טקסט בשרטוטי Visio באופן תכנותי ב-Java.

חפש והחלף טקסט בתרשים Visio - התקנת Java API

Aspose.Diagram for Java API תומך בעבודה עם פורמטים שונים של קבצים של Visio, כולל VSD, VSDX, VSDM, VSSX וכו’. ניתן להוריד את קבצי JAR מקטע הורדות או להשתמש בקטע הבא תצורות בקובץ pom.xml של הפרויקט שלך כדי לגשת ל-API מ-מאחסן Aspose:

מאגר:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

תלות:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.4</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

מצא והחלף טקסט בתרשים Visio באופן תוכניתי ב-Java

תוכל למצוא ולהחליף טקסט בקובץ Visio בפורמט VSD VSDX באמצעות השלבים הבאים:

  1. צור אוסף של המחרוזות כדי לחפש ולהחליף טקסט.
  2. טען את קובץ דיאגרמת המקור של Visio ועבור טקסט בכל צורה.
  3. כתוב את קובץ דיאגרמת Visio הפלט.

דוגמת הקוד שלהלן מראה כיצד למצוא ולהחליף טקסט בקובץ Visio באופן פרוגרמטי באמצעות Java:

// טען את דיאגרמת הקלט
Diagram diagram = new Diagram("FindReplaceText.vsdx");

DateFormat dateFormat = new SimpleDateFormat("dd/MMMM/yyyy");
Date myDate = new Date(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();

// הכן אוסף טקסט ישן וחדש
Hashtable<String, String> replacements = new Hashtable<String, String>();
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[EmplyeeName]]", "James Bond");
replacements.put("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");

cal.setTime(myDate);
cal.add(Calendar.YEAR, -1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[TimePeriod]]", dateFormat.format(cal.getTime()) + " -- " + dateFormat.format(myDate));

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, -7);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[SubmissionDate]]", dateFormat.format(cal.getTime()));
replacements.put("[[AmountReq]]", "$100,000");

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[DateApproved]]", dateFormat.format(cal.getTime()));

// חזור על צורות של דף
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage("Page-1").getShapes())
{
    Set<String> keys = replacements.keySet();
    for(String key: keys)
    {
       for (FormatTxt txt : (Iterable<FormatTxt>) shape.getText().getValue())
        {
       	    Txt tx = (Txt)((txt instanceof Txt) ? txt : null);
            if (tx != null && tx.getText().contains(key))
            {
                // מצא והחלף טקסט של צורה
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// שמור את התרשים
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

סיכום

לסיכום, הבנת כיצד למצוא ולהחליף טקסט בדיאגרמות של Visio. אתה יכול גם לאלתר את קטע הקוד כך שיעבוד עם עומסים אחרים של שיטת ההחלפה. לדוגמה, החלפת כל המופעים של טקסט תואם או רק המופע הראשון של מונח החיפוש בקובץ Visio. אתה יכול לבקר במרחב תיעוד כדי ללמוד כמה תכונות אחרות לתמרן או להמיר קבצי MS Visio. במקרה שאתה צריך לדון בכל החששות או הדרישות שלך, אנא פנה אלינו בפורום.

ראה גם

המר קובץ Visio VSD או VSDX ל-XAML ב-Java