Szablony są szeroko stosowane do generowania spersonalizowanych dokumentów poprzez zastąpienie kluczy szablonu odpowiednimi wartościami. Ten artykuł zawiera instrukcje znajdowania i zastępowania tekstu i słów w dokumentach PDF w Javie. Osobno omówimy, jak przeprowadzać wyszukiwanie słów i fraz, wyszukiwanie słów z uwzględnieniem wielkości liter, zastępowanie znalezionego tekstu za pomocą wyrażeń regularnych. Na koniec nauczymy się ukrywać szukaną część tekstu za pomocą Javy.

Poniżej zostaną omówione następujące tematy:

Interfejs API redakcji języka Java do zastępowania tekstu

GroupDocs zapewnia Java API do stosowania różnych typów redakcji. Pozwala redagować, ukrywać lub usuwać zawartość, a nawet metadane dokumentów, prezentacji, arkuszy kalkulacyjnych, plików PDF i obrazów w aplikacji. Więcej informacji na temat interfejsu API można znaleźć w jego 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>

Jedną z dobrych rzeczy jest to, że nie ma potrzeby instalowania żadnego edytora PDF ani żadnego innego oprogramowania innych firm do redagowania plików PDF. Poniżej znajduje się treść dokumentu PDF, który jest używany w poniższych przykładach do redagowania. To samo podejście będzie działać w przypadku innych formatów dokumentów, z niewielkimi różnicami w kodzie źródłowym.

Znajdź i zamień słowo lub frazę w formacie PDF w Javie

Możesz użyć tej funkcji, aby ukryć wszelkie prywatne dane, a także utworzyć nowy, dostosowany dokument z dowolnego szablonu. Poniższy krok wyjaśnia, jak znaleźć dowolne słowo/frazę w dokumencie PDF i zastąpić je innym tekstem w aplikacji Java.

  • Załaduj plik PDF za pomocą klasy Redactor.
  • Znajdź dokładną frazę lub słowo, używając opcji ExactPhraseRedaction i [ReplacementOptions](https://apireference.groupdocs. com/redaction/java/com.groupdocs.redaction.redactions/ReplacementOptions).
  • Zastosuj redakcję za pomocą metody apply().
  • Zapisz nowy dokument ze zmianami za pomocą metody save().

Poniższy kod znajduje i zastępuje słowa w pliku PDF przy użyciu języka Java. Dokładniej, ukrywa wszystkie wystąpienia „John Doe”, zastępując je słowem „[ocenzurowane]”.

// Znajdź dokładną frazę w pliku PDF i zastąp ją innym tekstem za pomocą Javy
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// Zapisz zredagowany plik w innej lokalizacji pod inną nazwą.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.pdf");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

Dane wyjściowe powyższego kodu są następujące.

Znajdź i zamień tekst lub frazę z rozróżnianiem wielkości liter w pliku PDF przy użyciu języka Java

Możesz przeprowadzić wyszukiwanie i redagowanie z uwzględnieniem wielkości liter. Poniższy kod zastępuje rozróżnianie wielkości liter wystąpień słowa „John Doe”, ale nie słowa „John Doe” w dokumencie PDF przy użyciu języka Java.

// Znajdź dokładną frazę w pliku PDF (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.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

Dane wyjściowe kodu są następujące.

Zamień tekst w PDF na wyrażenia regularne (RegEx) w Javie

Podobnie możesz zastąpić dowolny określony wzorzec tekstu za pomocą wyrażeń regularnych. Poniższe kroki umożliwiają redagowanie plików PDF po wyszukiwaniu przy użyciu wyrażeń regularnych (RegEx) w aplikacjach Java.

  • Załaduj dokument PDF za pomocą klasy Redactor.
  • Znajdź dopasowanie wyrażenia regularnego, używając klasy RegexRedaction z [ReplacementOptions](https://apireference.groupdocs.com/ redaction/java/com.groupdocs.redaction.redactions/ReplacementOptions).
  • Zastosuj zmiany w dokumencie za pomocą metody apply().
  • Zapisz zredagowany dokument przy użyciu odpowiedniej metody save().

Poniższy kod Java pokazuje, jak znaleźć określony wzorzec tekstu w dokumencie PDF za pomocą RegEx, a następnie zastąpić go/ukryć innym tekstem.

// Znajdź tekst w pliku PDF za pomocą wyrażeń regularnych i zastąp go innym tekstem za pomocą języka Java
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

Dane wyjściowe powyższego kodu są następujące.

Zastąp tekst kolorowym polem w Javie

Jeśli chcesz tylko ukryć wyszukiwane poufne informacje w pliku PDF, możesz po prostu założyć na niego okładkę. API pozwala na ukrycie wyszukiwanego tekstu. Poniższy kod umieszcza czarny prostokąt nad wspomnianym prywatnym tekstem w Javie.

// Znajdź tekst w pliku PDF i ukryj go, rysując nad nim prostokąt za pomocą języka Java
final Redactor redactor  = new Redactor("path/document.pdf");
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, nauczyliśmy się znajdować określony tekst w plikach PDF przy użyciu różnych technik wyszukiwania. Później zredagowaliśmy pliki PDF, zastępując lub ukrywając tekst w aplikacjach w Javie. Mówiąc dokładniej, przeprowadziliśmy proste wyszukiwanie słów, fraz, przeszukiwaliśmy z uwzględnieniem wielkości liter i używając RegEx w Javie. Na koniec zmieniliśmy wyniki wyszukiwania, dodając inny tekst lub po prostu zakrywając go kolorem.

Aby uzyskać więcej informacji na temat interfejsu API, odwiedź dokumentację. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też