באחד המאמרים, כבר דנו ב[כיצד לערוך מילים במסמכים כמפתח NET11. האסטרטגיה משמשת בדרכים רבות כדי למחוק תוכן רגיש, להסתיר או להסיר מידע פרטי כמו כתובות אימייל או מספרי זיהוי. מאמר זה דן כיצד לבצע חיפוש מילים במסמכי Word DOC/DOCX ב-Java. נדון בנפרד כיצד למצוא ולהחליף את הטקסט, המילים או הביטויים בטכניקות שונות באמצעות Java API לצורך עריכה.

הנושאים הבאים יכוסו להלן:

Java API לחיפוש מילים והחלפת טקסט

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

הורד או הגדר

אתה יכול להוריד את קובץ ה-JAR מקטע ההורדות, או פשוט לקבל את תצורות המאגר והתלות העדכניות ביותר עבור ה-pom.xml של יישומי Java המבוססים על maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

MS Word או כל תוכנת צד שלישי אחרת אינה נדרשת לתהליך העריכה. כעת נתחיל עם גישות שונות להתמודדות עם חיפוש והחלפת טקסט. להלן צילום מסך של מסמך Word המשמש בדוגמאות שלהלן. אתה יכול להשתמש באותן שיטות גם עבור פורמטים אחרים של מסמכים עם מעט מאוד או ללא שינוי בקוד המקור.

מסמך לעריכת טקסט

מצא והחלף מילים או ביטויים באמצעות Java

השלבים הבאים מסבירים כיצד למצוא ולאחר מכן להחליף את המופעים של מילה/ביטוי במסמך Word בתוך יישום Java.

  • טען את קובץ ה-DOC/DOCX באמצעות המחלקה Redactor.
  • מצא את הביטוי או המילה המדויקים באמצעות המחלקות ExactPhraseRedaction ו-ReplacementOptions.
  • השתמש בשיטת היישום של Redactor כדי להחיל עריכה.
  • כדי לשמור את הקובץ במיקום אחר לאחר ביצוע שינויים, השתמש בזרם הפלט.
  • שמור את שינויי העריכה באמצעות שיטת השמירה.

הקוד הבא מוצא ומחליף את המילה “John Doe” במסמך Word לעיל באמצעות Java. זה מחליף את כל המופעים של “ג’ון איילה” במילה “[מצונזר]”.

// מצא ביטוי מדויק והחלף אותו בטקסט אחר באמצעות Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// אם ברצונך לשמור את הקובץ שנערך במיקום אחר עם שם שונה.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

הפלט של הקוד הוא כדלקמן.

צור באמצעות ביטוי מדויק

חיפוש מילים תלוי-רישיות והחלפת טקסט ב-Java

נראה שאתה זהיר לגבי האותיות המדויקות של המילה ואתה רוצה להחליף רק את המילה שמתאימה רק לחיפוש שלך תלוי-רישיות. הקוד הבא מחליף את קיומה של התאמת האותיות המדויקות של המילה “John Doe” ב-Java.

// מצא ביטוי מדויק (תלוי רישיות) והחלף אותו בטקסט אחר באמצעות Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

הפלט של הקוד הוא כדלקמן.

עריכה רגישה לאותיות רישיות

החלף טקסט באמצעות ביטויים רגולריים (RegEx) ב-Java

אם אינך רוצה לשנות את המילה המדויקת אלא דפוס כלשהו שקיים במסמך שלך, תוכל להשתמש בביטויים הרגולריים. השלבים הבאים מאפשרים לך למצוא ולהחליף כל דפוס של טקסט באמצעות ביטויים רגולריים (RegEx) בתוך יישומי Java שלך.

  • טען את המסמך באמצעות המחלקה Redactor.
  • צור את ה-RegEx באמצעות RegexRedaction.
  • ספק את הטקסט באמצעות ReplacementOptions כדי להחליף את ההתאמה RegEx.
  • השתמש בשיטת היישום החלף את כל התאמות הביטוי הרגולרי.
  • השתמש בשיטת השמירה כדי לקבל את המסמך שנערך.

הקוד הבא מראה כיצד לבצע את חיפוש המילים בקובץ Word באמצעות RegEx ולהחליף אותו בטקסט אחר באמצעות Java.

// מצא טקסט באמצעות ביטוי רגולרי והחלף אותו בטקסט אחר באמצעות Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

להלן הפלט של הקוד לעיל:

תיקון RegEx

החלף את הטקסט בתיבה צבעונית ב-Java

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

// מצא טקסט והסתיר אותו על ידי ציור מלבן מעליו באמצעות Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

הפלט של הקוד לעיל הוא כדלקמן.

הסתר טקסט באמצעות תיבה

קבל רישיון API בחינם

אתה יכול לקבל רישיון זמני בחינם על מנת להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, למדת כיצד לבצע חיפוש מילים כדי למצוא טקסט במסמכי וורד באמצעות חיפוש ביטוי טקסט מדויק, חיפוש תלוי רישיות, חיפוש באמצעות ביטויים רגולריים, ואחרון חביב הסתרת הטקסט במקום החלפתו. אתה יכול להשתמש בטכניקות שונות אלה כדי להחליף את הממצאים בדרכים שונות בתוך מסמכי MS Word.

לפרטים נוספים ולמידה על ה-API, בקר בתיעוד. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם