ابحث عن نص واستبداله في PDF Java

في حالات مختلفة ، قد تحتاج إلى البحث عن جزء معين من النص واستبداله في مستندات PDF. ومع ذلك ، فإن البحث عن كل حدث وتحديثه يدويًا قد يكلفك وقتًا وجهدًا إضافيين. في مثل هذه الحالات ، يجعل خيار البحث والاستبدال حياتك أسهل. في هذه المقالة ، ستتعلم كيفية البحث عن نص واستبداله في مستندات PDF باستخدام Java.

Java API للبحث عن النص واستبداله في PDF - تنزيل مجاني

تم تصميم Aspose.PDF for Java لتوليد ومعالجة ملفات PDF من داخل تطبيقات Java. توفر واجهة برمجة التطبيقات مجموعة واسعة من ميزات معالجة 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 باستخدام Java

لاستبدال نص معين في PDF ، ستحصل أولاً على جميع أجزاء النص المطابقة لسلسلة البحث. بمجرد الحصول عليها ، ما عليك سوى استبدال كل جزء بالنص المحدث واحدًا تلو الآخر.

فيما يلي خطوات البحث عن نص واستبداله في ملف PDF باستخدام Java.

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله في 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 في Java.

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله في صفحة معينة في PDF باستخدام Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى 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

يمكنك أيضًا تحديد تعبير عادي للبحث في النص الذي يطابق نمطًا معينًا مثل رسائل البريد الإلكتروني وشبكات الأمان الاجتماعي وما إلى ذلك. فيما يلي الخطوات لتحديد واستخدام التعبير العادي للبحث واستبدال النص في PDF باستخدام Java.

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله في 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 بدون قيود التقييم مجانًا. احصل على رخصة مؤقتة مجانية الآن.

استنتاج

في هذه المقالة ، تعلمت كيفية البحث عن نص واستبداله في PDF باستخدام Java. علاوة على ذلك ، لقد رأيت كيفية استخدام تعبير عادي للبحث واستبدال النص باتباع نمط معين. يمكنك استكشاف المزيد حول Java PDF API باستخدام التوثيق.

أنظر أيضا