فایلهای Visio میتوانند شامل اشکال، رابطها، تصاویر یا متن برای به تصویر کشیدن نمودارهای مختلف باشند که برای ایجاد نمودارهایی مانند نمودارهای سازمانی، نمودارهای جریان و غیره استفاده میشوند. در سناریوهای خاصی، ممکن است بخواهید متنی را در قالب VSD یا VSDX پیدا کنید و جایگزین کنید. نمودار ویزیو بر این اساس، این مقاله نحوه یافتن و جایگزینی متن در نقشه های Visio را به صورت برنامه نویسی در جاوا توضیح می دهد.
- جستجو و جایگزینی متن در Visio Diagram – Java API Installation
- یافتن و جایگزینی متن در Visio Diagram به صورت برنامه نویسی در جاوا
جستجو و جایگزینی متن در Visio Diagram – Java API Installation
Aspose.Diagram for Java API از کار با فرمتهای فایل Visio از جمله VSD، VSDX، VSDM، VSSX و غیره پشتیبانی میکند. میتوانید فایلهای JAR را از بخش Downloads دانلود کنید یا از موارد زیر استفاده کنید. تنظیمات موجود در فایل pom.xml پروژه شما به منظور دسترسی به API از 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 Diagram به صورت برنامه نویسی در جاوا
می توانید متنی را در یک فایل Visio با فرمت VSD VSDX با مراحل زیر پیدا کرده و جایگزین کنید:
- مجموعه ای از رشته ها را برای جستجو و جایگزینی متن ایجاد کنید.
- فایل نمودار Visio منبع را بارگیری کنید و متن را در هر شکل حلقه بزنید.
- فایل نمودار خروجی Visio را بنویسید.
نمونه کد زیر نحوه یافتن و جایگزینی متن در فایل Visio را با استفاده از جاوا نشان می دهد:
// نمودار ورودی را بارگیری کنید
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، از فضای مستندات دیدن کنید. در صورت نیاز به بحث در مورد هر یک از نگرانی ها یا الزامات خود، لطفاً با ما در [فروم 4 تماس بگیرید.