מצא והחלף טקסט ב-PDF Java

במקרים שונים, ייתכן שיהיה עליך למצוא ולהחליף קטע טקסט מסוים במסמכי PDF. עם זאת, חיפוש ועדכון ידני של כל אירוע עלול לעלות לך זמן ומאמץ נוספים. במקרים כאלה, האפשרות למצוא והחלפה הופכת את חייך לקלים יותר. במאמר זה תלמד כיצד למצוא ולהחליף טקסט במסמכי PDF באמצעות Java.

ספריית Java לאיתור והחלפת טקסט ב-PDF

כדי למצוא ולהחליף טקסט ב-PDF, נשתמש ב-Aspose.PDF עבור Java. זה נועד להפקה ולתפעל קבצי PDF מתוך יישומי Java. הספרייה מספקת מגוון רחב של תכונות בסיסיות כמו גם מתקדמות של מניפולציה של PDF כולל איתור והחלפת טקסט.

אתה יכול להוריד את הספרייה או להתקין אותה באמצעות התצורות הבאות של 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>22.12</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");

Java מצא והחלף טקסט ב-PDF באמצעות Regex

אתה יכול גם לציין ביטוי רגולרי כדי לחפש בטקסט התואם דפוס מסוים כגון מיילים, SSNs וכו’. להלן השלבים להגדרה ולהשתמש בביטוי רגולרי כדי לחפש ולהחליף טקסט ב-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");

ספריית Java בחינם להחלפת טקסט ב-PDF

אתה יכול לקבל רישיון זמני בחינם ולמצוא ולהחליף טקסט ב-PDF ללא כל הגבלה.

חקור את ספריית Java PDF

אתה יכול לחקור יותר על ספריית Java PDF באמצעות תיעוד.

סיכום

במאמר זה, למדת כיצד למצוא ולהחליף טקסט ב-PDF באמצעות Java. יתר על כן, ראית כיצד להשתמש בביטוי רגולרי כדי לחפש ולהחליף טקסט בעקבות דפוס מסוים.

ראה גם