Znaki wodne są najczęściej używane do wspomnianych dokumentów jako wersje robocze oraz w celu uniknięcia nielegalnego wykorzystania dokumentów poufnych. Po zakończeniu sfinalizowania wersji roboczej lub poufności można usunąć znaki wodne z takich dokumentów. Znaki wodne mogą być oparte na tekście lub obrazie. W tym artykule przyjrzymy się, jak usunąć znaki wodne z dokumentów PDF w Javie.

Programowo usuwaj znaki wodne z plików PDF.

Java API do usuwania znaków wodnych PDF

GroupDocs.Watermark zapewnia Java API do obsługi znaków wodnych w dokumentach i obrazach w różnych formatach plików. Jeśli tworzysz aplikację do usuwania znaku wodnego, zapewnia ona kilka przydatnych sposobów:

  • Usuń wszystkie znaki wodne z dokumentu PDF
  • Usuń znaki wodne hiperłączy
  • Usuń znaki wodne z określonym formatowaniem tekstu

Dowiedzmy się, jak programista Java może na różne sposoby usuwać znaki wodne z plików PDF za pomocą interfejsu API GroupDocs.Watermark for Java. Przede wszystkim pobierz i skonfiguruj API ze swoją aplikacją.

Pobierz lub skonfiguruj

Możesz pobrać plik JAR z sekcji downloads lub skorzystać z najnowszych konfiguracji repozytorium i zależności Maven w swoich aplikacjach Java.

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

Usuń wszystkie znaki wodne z plików PDF w Javie

Interfejs API umożliwia łatwe znajdowanie, a następnie usuwanie określonego znaku wodnego i wszystkich znaków wodnych z dokumentu. Poniższe kroki pokazują, jak usunąć wszystkie znaki wodne z dokumentu PDF w Javie.

  • Załaduj dokument PDF za pomocą Znacznik wodny.
  • Pobierz wszystkie możliwe znaki wodne jako kolekcję za pomocą wyszukiwania.
  • Przejrzyj całą kolekcję i usuń każdy znak wodny lub ten, który spełnia kryterium.
  • Zapisz zaktualizowany plik PDF bez znaku wodnego.

Poniższy kod Java usuwa wszystkie znaki wodne z dokumentu PDF.

// Usuń znaki wodne z plików PDF i innych dokumentów w Javie
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Usuń każdy znak wodny, podając indeks w dokumencie.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

Usuń znak wodny hiperłącza w Javie

API znaku wodnego umożliwia wyszukiwanie i usuwanie hiperłączy z dokumentu PDF. Poniższe kroki umożliwiają usunięcie znaków wodnych hiperłączy z dokumentu PDF w aplikacji Java.

  • Załaduj plik PDF za pomocą Znacznik wodny.
  • Pobierz możliwe znaki wodne jako kolekcję za pomocą wyszukiwania.
  • Przejrzyj kolekcję i usuń znaki wodne spełniające kryterium.
  • Zapisz zaktualizowany plik PDF bez znaków wodnych.

Poniższy przykładowy kod Java pokazuje, jak znaleźć i usunąć znaki wodne hiperłączy z określonym adresem URL z dokumentu PDF.

// Usuń znaki wodne hiperłączy z plików PDF w Javie
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");

PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
    {
        System.out.println(watermarks.get_Item(i).getText());
        watermarks.removeAt(i);
    }
}
watermarker.save("path/no-hyperlink-watermarks.pdf");

Usuń znak wodny z pliku PDF z określonym formatowaniem tekstu w Javie

Można również usunąć znak wodny mający określone formatowanie tekstu. Jako kryterium wyszukiwania możesz podać nazwę czcionki, jej rozmiar, kolor itp. Interfejs API znajdzie znaki wodne o dopasowanych właściwościach. Poniższe kroki pokazują, jak wyszukiwać i usuwać znaki wodne z pliku PDF o określonym formatowaniu tekstu w Javie.

  • Załaduj plik PDF za pomocą Znacznik wodny.
  • Ustaw kryterium wyszukiwania za pomocą TextFormattingSearchCriteria.
  • Podaj wszystkie wymagane właściwości formatowania.
  • Wyszukaj i uzyskaj wszystkie możliwe znaki wodne jako kolekcję, podając zdefiniowane kryteria.
  • Usuń wszystkie wyszukane znaki wodne za pomocą metody clear().
  • Zapisz zaktualizowany plik PDF bez znaku wodnego ze zdefiniowanymi właściwościami.

Poniższy kod Java usuwa znaki wodne z dokumentu PDF o określonym formatowaniu tekstu.

// Usuń znaki wodne z określonym formatowaniem tekstu z pliku PDF w Javie
Watermarker watermarker = new Watermarker("path/watermarks.pdf");

TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);

PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();

Wniosek

Podsumowując, nauczyliśmy się, jak usuwać różne znaki wodne z dokumentów PDF w Javie. W szczególności usunęliśmy wszystkie zastosowane znaki wodne, a następnie usunęliśmy znaki wodne hiperłączy i znaki wodne z określonym formatowaniem tekstu. Spróbuj zbudować własną aplikację Java do wyszukiwania i usuwania znaków wodnych z dokumentów PDF. Poza tym możesz dowiedzieć się więcej o GroupDocs.Watermark for Java z jego dokumentacji. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też