ابحث عن استبدال Visio Java

يمكن أن تتضمن ملفات Visio أشكالًا أو موصلات أو صورًا أو نصوصًا لتوضيح مخططات مختلفة تُستخدم لإنشاء مخططات مثل المخططات التنظيمية والمخططات الانسيابية وما إلى ذلك. في سيناريوهات معينة ، قد ترغب في البحث عن بعض النصوص واستبدالها بتنسيق VSD أو VSDX رسم تخطيطي في Visio. وفقًا لذلك ، تشرح هذه المقالة كيفية البحث عن نص واستبداله في رسومات Visio برمجيًا في Java.

البحث عن نص واستبداله في رسم Visio التخطيطي - تثبيت Java API

Aspose.Diagram for Java API يدعم العمل مع تنسيقات ملفات Visio المختلفة بما في ذلك VSD ، VSDX ، VSDM ، VSSX ، إلخ. يمكنك تنزيل ملفات JAR من قسم التنزيلات ، أو استخدام ما يلي التكوينات في ملف pom.xml الخاص بمشروعك من أجل الوصول إلى واجهة برمجة التطبيقات من Aspose Repository:

مخزن:

 <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 في جافا