در این مقاله، نحوه یافتن و جایگزینی متن در اسناد Word (DOC/DOCX) را به صورت برنامه‌نویسی با استفاده از جاوا نشان خواهم داد. راهنمای گام به گام و نمونه کد، سناریوهای مختلف یافتن و جایگزینی متن در اسناد Word را پوشش می دهد.

متن را در اسناد Word پیدا و جایگزین کنید

MS Word یک راه آسان برای یافتن و جایگزینی متن در اسناد ارائه می دهد. یکی از موارد استفاده رایج برای یافتن و جایگزینی متن می‌تواند حذف یا جایگزینی اطلاعات حساس درون اسناد قبل از به اشتراک گذاشته شدن آنها بین نهادهای مختلف باشد. با این حال، ممکن است فرآیند دستی شما را ملزم به نصب MS Word و به روز رسانی هر سند جداگانه کند. در چنین شرایطی، به خصوص زمانی که ویژگی‌های یافتن و جایگزینی را در دسکتاپ یا برنامه وب خود یکپارچه کرده باشید، مفید و در زمان صرفه جویی خواهد شد. بنابراین بیایید شروع کنیم و ببینیم که چگونه می توان متن را در اسناد Word با استفاده از جاوا در سناریوهای مختلف پیدا کرد و جایگزین کرد.

Java API برای یافتن و جایگزینی متن در اسناد Word

برای پیاده‌سازی ویژگی Find and جایگزین، از Aspose.Words برای جاوا استفاده می‌کنیم که یک API پردازش ورد قدرتمند، غنی و آسان برای پلتفرم جاوا است. می توانید JAR آن را دانلود یا با استفاده از تنظیمات زیر در برنامه مبتنی بر Maven خود نصب کنید.

مخزن:

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

وابستگی:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

یافتن و جایگزینی متن در اسناد Word (DOC/DOCX) با استفاده از جاوا

بیایید با پرداختن به یک سناریوی ساده یافتن و جایگزینی شروع کنیم که در آن کلمه “Sad” را در سند ورودی Word پیدا خواهیم کرد. مراحل زیر برای انجام این عملیات آورده شده است.

نمونه کد زیر نحوه یافتن و جایگزینی متن در اسناد Word DOCX با استفاده از جاوا را نشان می دهد.

// یک سند Word DOCX را بارگیری کنید
Document doc = new Document("document.docx");
// متن را در سند پیدا کرده و جایگزین کنید
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// سند Word را ذخیره کنید
doc.save("Find-And-Replace-Text.docx");

در زیر سند ورودی Word است که ما در این مقاله استفاده کرده ایم.

متن را در DOCX با استفاده از جاوا پیدا و جایگزین کنید

خروجی زیر پس از یافتن و جایگزینی کلمه “sad” آمده است.

پیدا کردن و جایگزین کردن یک کلمه

کلمات مشابه را در Word DOC/DOCX با استفاده از جاوا پیدا و جایگزین کنید

همچنین می‌توانید API را برای یافتن و جایگزینی متن بر اساس شباهت سفارشی کنید. به عنوان مثال، کلمات “غمگین”، “دیوانه” و “بد” از یک الگوی مشابه پیروی می کنند که به “ad” ختم می شود. شناسه ایمیل نمونه دیگری از چنین متنی است. در چنین مواردی، می‌توانید یک الگوی regex برای یافتن و جایگزینی همه موارد متنی با یک الگوی خاص تعریف کنید. مراحل زیر برای دستیابی به این مهم است.

نمونه کد زیر نحوه یافتن و جایگزینی کلمات مشابه را بر اساس یک الگوی خاص با استفاده از جاوا نشان می دهد.

// یک سند Word DOCX را بارگیری کنید
Document doc = new Document("document.docx");
// کلمات مشابه را در سند پیدا کرده و جایگزین کنید
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// سند Word را ذخیره کنید
doc.save("Find-And-Replace-Text.docx");

تصویر زیر پس از به روز رسانی کلمات مشابه، اسکرین شات سند Word است.

کلمات مشابه را با استفاده از جاوا پیدا و جایگزین کنید

Aspose.Words همچنین به شما این امکان را می دهد که متن را فقط در هدر/پانویس سند Word پیدا کرده و جایگزین کنید. مراحل زیر برای انجام این عملیات آورده شده است.

  • یک نمونه از کلاس Document ایجاد کنید و مسیر سند Word را به آن منتقل کنید.
  • HeaderFooterCollection از سند را با استفاده از روش [Document.getFirstSection().getHeadersFooters11 دریافت کنید.
  • هدر/پانویس خاص را در شیء HeaderFooter بازیابی کنید.
  • برای یافتن و جایگزینی متن از روش HeaderFooter.getRange().replace() استفاده کنید.
  • سند Word به روز شده را ذخیره کنید.

نمونه کد زیر نحوه یافتن و جایگزینی متن را در هدر/پانویس سند Word با استفاده از جاوا نشان می دهد.

// یک سند Word DOCX را بارگیری کنید
Document doc = new Document("document.docx");
// به مجموعه فوتر سرصفحه دسترسی پیدا کنید
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// گزینه های یافتن و جایگزینی را تنظیم کنید
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// سند Word را ذخیره کنید
doc.save("Find-And-Replace-Text.docx");

تصویر زیر متن به روز شده را در فوتر سند Word نشان می دهد.

متن را در فوتر پیدا و جایگزین کنید

یافتن و جایگزینی متن با متا کاراکترها در Word DOCX با استفاده از جاوا

ممکن است موردی وجود داشته باشد که شما نیاز به یافتن و جایگزینی عبارتی داشته باشید که به چند خط یا پاراگراف تقسیم شده است. در چنین مواردی، باید مراقب شکست پاراگراف، بخش یا خط باشید. Aspose.Words برای جاوا، رسیدگی به چنین مواردی را به راحتی برای شما آسان می کند. در زیر متا کاراکترهایی وجود دارد که می توانید برای استراحت های مختلف از آنها استفاده کنید:

  • &p: شکست پاراگراف
  • &b: شکست بخش
  • &m: شکست صفحه
  • &l: شکست خط

نمونه کد زیر نحوه یافتن و جایگزینی متن را با یک پاراگراف در یک سند Word نشان می دهد.

// یک سند Word DOCX را بارگیری کنید
Document doc = new Document("document.docx");
// گزینه ها را تنظیم کنید
FindReplaceOptions options = new FindReplaceOptions();
// حروف تطبیق را غیرفعال کنید و فقط کلمات کامل را پیدا کنید
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// متن را با شکست پاراگراف جایگزین کنید
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// سند Word را ذخیره کنید
doc.save("Find-And-Replace-Text.docx");

تصویر زیر اسکرین شات از سند خروجی Word است.

یافتن و جایگزینی متن با متا کاراکترها

نتیجه

در این مقاله نحوه یافتن و جایگزینی متن در اسناد Word DOC/DOCX به صورت برنامه نویسی با استفاده از جاوا را مشاهده کرده اید. سناریوهای مختلف یافتن و جایگزینی متن در فایل‌های MS Word DOCX با کمک نمونه‌های کد مورد بررسی قرار گرفته‌اند. می توانید در مورد Aspose.Words برای جاوا از مستندات اطلاعات بیشتری کسب کنید.

همچنین ببینید