במאמר זה אדגים כיצד למצוא ולהחליף טקסט במסמכי Word (DOC/DOCX) באופן תוכנתי באמצעות Java. המדריך צעד אחר צעד ודוגמאות הקוד יכסו תרחישים שונים של מציאת והחלפת טקסט במסמכי Word.
MS Word מספק דרך קלה למצוא ולהחליף טקסט במסמכים. אחד ממקרי השימוש הפופולריים של איתור והחלפת טקסט יכול להיות הסרה או החלפה של מידע רגיש בתוך המסמכים לפני שהם משותפים בין ישויות שונות. עם זאת, התהליך הידני עשוי לדרוש ממך להתקין את MS Word ולעדכן כל מסמך בנפרד. במצבים כאלה, זה יהיה שימושי וחוסך זמן, במיוחד כאשר שילבת תכונות איתור והחלפה בתוך שולחן העבודה או יישום האינטרנט שלך. אז בואו נתחיל ונראה כיצד למצוא ולהחליף טקסט במסמכי Word באמצעות Java בתרחישים שונים.
- מצא והחלף טקסט ב-Word DOC/DOCX באמצעות Java
- החלף מילים דומות על סמך דפוס Regex ב- Word DOC/DOCX
- מצא והחלף טקסט בכותרת העליונה/תחתונה של מסמך Word
- מצא והחלף טקסט במטא-תווים ב- Word DOC/DOCX
Java API לאיתור והחלפה של טקסט במסמכי Word
על מנת ליישם את תכונת החיפוש והחלפה, נשתמש ב-Aspose.Words for Java שהוא ממשק API רב עוצמה, עשיר בתכונות וקל לשימוש עבור פלטפורמת Java. אתה יכול להוריד את ה-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) באמצעות Java
נתחיל בהתייחסות לתרחיש פשוט של חיפוש והחלפה שבו נמצא את המילה “עצוב” בתוך מסמך Word הקלט. להלן השלבים לביצוע פעולה זו.
- צור מופע של מחלקה Document והעביר אליו את הנתיב של מסמך Word.
- מצא והחלף טקסט באמצעות שיטת Document.getRange.replace(String, String, FindReplaceOptions).
- שמור את המסמך בשיטת Document.save(String).
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף טקסט במסמכי Word DOCX באמצעות Java.
// טען מסמך 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 הקלט בו השתמשנו במאמר זה.
להלן הפלט לאחר מציאת והחלפת המילה “עצוב”.
מצא והחלף מילים דומות ב- Word DOC/DOCX באמצעות Java
אתה יכול גם להתאים אישית את ה-API כדי למצוא ולהחליף טקסט על סמך הדמיון. לדוגמה, המילים “עצוב”, “מטורף” ו"רע" עוקבות אחר דפוס דומה שמסתיים ב"מודעה". מזהי אימייל הם דוגמה נוספת לטקסט כזה. במקרים כאלה, אתה יכול להגדיר דפוס ביטוי רגולרי כדי למצוא ולהחליף את כל מופעי הטקסט בעלי דפוס מסוים. להלן השלבים להשיג זאת.
- צור מופע של מחלקה Document והעביר אליו את הנתיב של מסמך Word.
- הגדירו תבנית ביטוי regex באמצעות שיטת Pattern.compile() והעבירו אותו לשיטת Document.getRange().replace(Pattern pattern, String replacement, FindReplaceOptions options).
- שמור את המסמך המעודכן בשיטת Document.save(String).
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף מילים דומות על סמך דפוס מסוים באמצעות Java.
// טען מסמך 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 לאחר עדכון מילים דומות.
החלף טקסט בכותרת העליונה/תחתונה של מסמך Word
Aspose.Words גם מאפשר לך למצוא ולהחליף טקסט רק בכותרת העליונה/תחתונה של מסמך ה-Word. להלן השלבים לביצוע פעולה זו.
- צור מופע של מחלקה Document והעביר אליו את הנתיב של מסמך Word.
- קבל את HeaderFooterCollection של המסמך באמצעות שיטת Document.getFirstSection().getHeadersFooters().
- אחזר את הכותרת העליונה/תחתונה המסוימת באובייקט HeaderFooter.
- השתמש בשיטה HeaderFooter.getRange().replace() כדי למצוא ולהחליף טקסט.
- שמור את מסמך ה-Word המעודכן.
דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף טקסט בכותרת העליונה/תחתונה של מסמך Word באמצעות Java.
// טען מסמך 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 באמצעות Java
יכול להיות מקרה שבו אתה צריך למצוא ולהחליף ביטוי שמחולק למספר שורות או פסקאות. במקרים כאלה, תצטרך לדאוג לפסקה, לסעיף או מעברי שורה. Aspose.Words עבור Java מקל עליך לטפל במקרים כאלה די בקלות. להלן המטא-תווים שבהם אתה יכול להשתמש עבור הפסקות שונות:
- &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 באופן פרוגרמטי באמצעות Java. תרחישים שונים של איתור והחלפת טקסט בקובצי MS Word DOCX טופלו בעזרת דוגמאות קוד. אתה יכול ללמוד עוד על Aspose.Words עבור Java מתוך תיעוד.