W jednym z artykułów omawialiśmy już jak redagować słowa w dokumentach jako programista .NET. Strategia ta jest wykorzystywana na wiele sposobów do usuwania poufnych treści, ukrywania lub usuwania prywatnych informacji, takich jak adresy e-mail lub numery identyfikacyjne. W tym artykule omówiono sposób wyszukiwania słów w dokumentach Word DOC/DOCX w Javie. Oddzielnie omówimy, jak znaleźć i zamienić tekst, słowa lub frazy za pomocą różnych technik przy użyciu Java API do redagowania.
Poniżej zostaną omówione następujące tematy:
- Java API do wyszukiwania słów i zastępowania tekstu
- Znajdź i zamień słowa lub frazę
- Wyszukiwanie i zastępowanie tekstu z uwzględnieniem wielkości liter
- Zastąp tekst za pomocą wyrażeń regularnych (RegEx)
- Zastąp tekst kolorowym pudełkiem
Java API do wyszukiwania słów i zastępowania tekstu
GroupDocs udostępnia interfejs API redakcji języka Java, który umożliwia znajdowanie i zastępowanie zawartości plików obsługiwanych przez MS Word oraz innych dokumentów w różnych innych formatach plików. Oprócz redagowania tekstu i rasteryzacji, interfejs API obsługuje metadane, adnotacje, arkusze kalkulacyjne, a także funkcje redagowania obrazów. Obsługiwane formaty plików dokumentów programu Word, arkuszy kalkulacyjnych, prezentacji, obrazów i dokumentów PDF są dostępne w dokumentacji.
Pobierz lub skonfiguruj
Możesz pobrać plik JAR z sekcji pobierania lub po prostu pobrać najnowsze konfiguracje repozytorium i zależności dla pliku pom.xml aplikacji Java opartych na 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>
Do procesu redagowania nie jest wymagany program MS Word ani żadne inne oprogramowanie innych firm. Zacznijmy teraz od różnych podejść do wyszukiwania i zastępowania tekstu. Poniżej znajduje się zrzut ekranu dokumentu programu Word, który jest używany w poniższych przykładach. Możesz użyć tych samych metod dla innych formatów dokumentów, z bardzo niewielkimi lub żadnymi zmianami w kodzie źródłowym.
Znajdź i zamień słowa lub frazy za pomocą języka Java
Poniższe kroki wyjaśniają, jak znaleźć, a następnie zamienić wystąpienia słowa/wyrażenia w dokumencie programu Word w aplikacji Java.
- Załaduj plik DOC/DOCX przy użyciu klasy Redactor.
- Znajdź dokładną frazę lub słowo, korzystając z klas ExactPhraseRedaction i ReplacementOptions.
- Użyj metody Apply narzędzia Redactor, aby zastosować redakcję.
- Aby zapisać plik w innej lokalizacji po wprowadzeniu zmian, użyj strumienia wyjściowego.
- Zapisz zmiany redakcyjne za pomocą metody save.
Poniższy kod wyszukuje i zastępuje słowo „John Doe” w powyższym dokumencie programu Word przy użyciu języka Java. Zastępuje wszystkie wystąpienia „John Doe” słowem „[ocenzurowane]”.
// Znajdź dokładną frazę i zastąp ją innym tekstem za pomocą Javy
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// Jeśli chcesz zapisać zredagowany plik w innej lokalizacji pod inną nazwą.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);
Dane wyjściowe kodu są następujące.
Wyszukiwanie i zastępowanie tekstu z uwzględnieniem wielkości liter w Javie
Wygląda na to, że ostrożnie podchodzisz do wielkości liter w słowie i chcesz zastąpić tylko to słowo, które pasuje tylko do wyszukiwania z uwzględnieniem wielkości liter. Poniższy kod zastępuje istnienie dokładnego dopasowania wielkości liter w słowie „John Doe” w Javie.
// Znajdź dokładną frazę (z uwzględnieniem wielkości liter) i zastąp ją innym tekstem przy użyciu języka Java
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();
Dane wyjściowe kodu są następujące.
Zastąp tekst za pomocą wyrażeń regularnych (RegEx) w Javie
Jeśli nie chcesz zmieniać dokładnego słowa, ale jakiś wzorzec, który istnieje w twoim dokumencie, możesz użyć wyrażeń regularnych. Poniższe kroki umożliwiają znalezienie i zastąpienie dowolnego wzorca tekstu za pomocą wyrażeń regularnych (RegEx) w aplikacjach Java.
- Załaduj dokument używając klasy Redactor.
- Utwórz RegEx za pomocą RegexRedaction.
- Podaj tekst za pomocą ReplacementOptions, aby zastąpić dopasowanie RegEx.
- Użyj metody Apply zamień wszystkie dopasowania wyrażeń regularnych.
- Użyj metody zapisu, aby uzyskać zredagowany dokument.
Poniższy kod pokazuje, jak przeprowadzić wyszukiwanie słów w pliku programu Word przy użyciu RegEx i zastąpić je innym tekstem przy użyciu języka Java.
// Znajdź tekst za pomocą wyrażenia regularnego i zastąp go innym tekstem za pomocą języka 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();
Poniżej przedstawiono dane wyjściowe powyższego kodu:
Zastąp tekst kolorowym polem w Javie
Jeśli nie chcesz zastępować treści i po prostu chcesz ją ukryć, interfejs API umożliwia dopasowanie tekstu poprzez narysowanie na nim ramki. Poniższy kod Java ukrywa tekst za pomocą czarnego prostokąta.
// Znajdź tekst i ukryj go, rysując nad nim prostokąt za pomocą Java
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();
Dane wyjściowe powyższego kodu są następujące.
Uzyskaj bezpłatną licencję API
Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.
Wniosek
Podsumowując, nauczyłeś się, jak przeprowadzać wyszukiwanie słów w celu znalezienia tekstu w dokumentach programu Word przy użyciu dokładnego wyszukiwania fraz tekstowych, wyszukiwania z rozróżnianiem wielkości liter, wyszukiwania przy użyciu wyrażeń regularnych, a także ukrywania tekstu zamiast jego zastępowania. Możesz użyć tych różnych technik, aby zastąpić wyniki na różne sposoby w dokumentach MS Word.
Aby uzyskać więcej informacji i dowiedzieć się więcej o interfejsie API, odwiedź dokumentację. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.