במקרים שונים, ייתכן שיהיה עליך למצוא ולהחליף קטע טקסט מסוים במסמכי PDF. עם זאת, חיפוש ועדכון ידני של כל אירוע עלול לעלות לך זמן ומאמץ נוספים. במקרים כאלה, האפשרות למצוא והחלפה הופכת את חייך לקלים יותר. במאמר זה תלמד כיצד למצוא ולהחליף טקסט במסמכי PDF באמצעות Java.
- ספריית Java לאיתור והחלפת טקסט ב-PDF
- מצא והחלף טקסט ב-PDF באמצעות Java
- החלף טקסט בדף מסוים ב-PDF
- החלף טקסט באמצעות ביטוי רגולרי
ספריית 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 באמצעות מחלקה מסמך.
- צור אובייקט במחלקה TextFragmentAbsorber ואתחול אותו בטקסט שברצונך למצוא ולהחליף.
- קבל את הסופג עבור הדפים ב-PDF בשיטת Document.getPages().accept(TextFragmentAbsorber).
- קבל את כל המופעים של הטקסט שהוחזר על ידי TextFragmentAbsorber.getTextFragments() לתוך אובייקט TextFragmentCollection.
- עברו בלולאה דרך כל TextFragment באובייקט TextFragmentCollection והחליפו את הטקסט בשיטת TextFragment.setText(String).
- שמור את קובץ ה-PDF המעודכן בשיטת Document.save(String).
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף טקסט ב-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 באמצעות מחלקה מסמך.
- צור אובייקט במחלקה TextFragmentAbsorber ואתחול אותו עם הטקסט שברצונך למצוא ולהחליף.
- קבל את הסופג עבור דף מסוים ב-PDF בשיטת Document.getPages().getItem(Int pageIndex).accept(TextFragmentAbsorber).
- קבל את כל המופעים של הטקסט שהוחזר על ידי TextFragmentAbsorber.getTextFragments() לתוך האובייקט TextFragmentCollection.
- עברו בלולאה בכל TextFragment באובייקט TextFragmentCollection והחליפו את הטקסט באמצעות שיטת TextFragment.setText(String).
- שמור את קובץ ה-PDF המעודכן בשיטת Document.save(String).
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף טקסט בעמוד מסוים ב-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 באמצעות מחלקה מסמך.
- צור אובייקט במחלקה TextFragmentAbsorber ואתחול אותו עם הביטוי הרגולרי שבו ברצונך להשתמש.
- צור אובייקט במחלקה TextSearchOptions ואתחל אותו ב-true כדי לאפשר את החיפוש מבוסס הביטוי הרגולרי.
- הגדר אפשרויות באמצעות שיטת TextFragmentAbsorber.setTextSearchOptions(TextSearchOptions).
- קבל את הסופג עבור הדפים ב-PDF בשיטת Document.getPages().accept(TextFragmentAbsorber).
- קבל את כל המופעים שנמצאו של הטקסט שהוחזר על ידי TextFragmentAbsorber.getTextFragments() לתוך האובייקט TextFragmentCollection.
- עברו בלולאה בכל TextFragment באובייקט TextFragmentCollection והחליפו את הטקסט באמצעות שיטת TextFragment.setText(String).
- שמור את קובץ ה-PDF המעודכן בשיטת Document.save(String).
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף טקסט ב-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. יתר על כן, ראית כיצד להשתמש בביטוי רגולרי כדי לחפש ולהחליף טקסט בעקבות דפוס מסוים.