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

در موارد مختلف، ممکن است لازم باشد یک قطعه متن خاص را در اسناد PDF پیدا و جایگزین کنید. با این حال، جستجو و به روز رسانی هر مورد به صورت دستی ممکن است هزینه و تلاش بیشتری برای شما داشته باشد. برای چنین مواردی، گزینه Find and جایگزین زندگی شما را آسان می کند. در این مقاله، نحوه یافتن و جایگزینی متن در اسناد PDF با استفاده از Java را خواهید آموخت.

Java API برای یافتن و جایگزینی متن در PDF - دانلود رایگان

Aspose.PDF for Java برای تولید و دستکاری فایل های PDF از داخل برنامه های جاوا طراحی شده است. API طیف گسترده ای از ویژگی های دستکاری اولیه و پیشرفته PDF از جمله یافتن و جایگزینی متن را ارائه می دهد. می‌توانید API را دانلود یا با استفاده از تنظیمات 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-pdf</artifactId>
    <version>21.1</version>    
</dependency>

یافتن و جایگزینی متن در PDF با استفاده از جاوا

به منظور جایگزینی یک متن خاص در PDF، ابتدا تمام قطعات متن مطابق با رشته جستجو را دریافت می کنید. هنگامی که آنها را دارید، به سادگی هر قطعه را با متن به روز شده یکی یکی جایگزین کنید.

مراحل زیر برای یافتن و جایگزینی متن در یک فایل PDF با استفاده از جاوا آمده است.

نمونه کد زیر نحوه یافتن و جایگزینی متن در PDF را نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند را باز کنید
Document pdfDocument = new Document("source.pdf");

// برای یافتن تمام نمونه های عبارت جستجوی ورودی، شی TextAbsorber ایجاد کنید
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// جذب کننده را برای تمام صفحات سند بپذیرید
pdfDocument.getPages().accept(textFragmentAbsorber);

// قطعات متن استخراج شده را در مجموعه قرار دهید
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// از طریق قطعات حلقه بزنید
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// متن و سایر ویژگی ها را به روز کنید
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// فایل PDF به روز شده را ذخیره کنید
pdfDocument.save("Updated_Text.pdf");

جستجو و جایگزینی متن در یک صفحه خاص در PDF

به جای یافتن و جایگزینی متن در کل PDF، می‌توانید یک صفحه را مشخص کنید که می‌خواهید تکرار متن را جایگزین کنید. در این صورت، شما TextFragmentAbsorber را برای یک صفحه خاص تنها با مشخص کردن فهرست صفحه می‌پذیرید.

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

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

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند را باز کنید
Document pdfDocument = new Document("source.pdf");

// برای یافتن تمام نمونه های عبارت جستجوی ورودی، شی TextAbsorber ایجاد کنید
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// جذب کننده را برای صفحه اول سند بپذیرید
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// قطعات متن استخراج شده را در مجموعه قرار دهید
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// از طریق قطعات حلقه بزنید
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// متن و سایر ویژگی ها را به روز کنید
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// فایل PDF به روز شده را ذخیره کنید
pdfDocument.save("Updated_Text.pdf");

یافتن و جایگزینی متن با استفاده از عبارات منظم در PDF

همچنین می توانید برای جستجوی متنی که با یک الگوی خاص مانند ایمیل ها، SSN ها و غیره مطابقت دارد، یک عبارت منظم تعیین کنید. در زیر مراحل تعریف و استفاده از یک عبارت منظم برای جستجو و جایگزینی متن در PDF با استفاده از جاوا آمده است.

نمونه کد زیر نحوه یافتن و جایگزینی متن در PDF را با استفاده از عبارت منظم نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند را باز کنید
Document pdfDocument = new Document("input.pdf");

// برای یافتن تمام نمونه های عبارت جستجوی ورودی، شی TextAbsorber ایجاد کنید
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

// گزینه جستجوی متن را برای فعال کردن استفاده از عبارت منظم تنظیم کنید
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// جذب کننده را برای تمام صفحات سند بپذیرید
pdfDocument.getPages().accept(textFragmentAbsorber);

// قطعات متن استخراج شده را در مجموعه قرار دهید
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// از طریق قطعات حلقه بزنید
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// متن و سایر ویژگی ها را به روز کنید
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// فایل PDF به روز شده را ذخیره کنید
pdfDocument.save("Updated_Text.pdf");

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

می توانید API را بدون محدودیت ارزیابی به صورت رایگان امتحان کنید. اکنون [یک مجوز موقت رایگان] دریافت کنید35.

نتیجه

در این مقاله نحوه یافتن و جایگزینی متن در PDF با استفاده از جاوا را یاد گرفتید. علاوه بر این، نحوه استفاده از یک عبارت منظم را برای جستجو و جایگزینی متن به دنبال یک الگوی خاص دیده اید. می‌توانید با استفاده از مستندات درباره Java PDF API بیشتر کاوش کنید.

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