Usuń znaki wodne z dokumentów PDF za pomocą Java

Obraz lub tekst znaku wodnego służy do identyfikacji autora dokumentu lub informacji o prawach autorskich. Możesz wykryć wszystkie dostępne znaki wodne w dokumencie, a następnie je usunąć. Jako programista Java możesz łatwo programowo usuwać znaki wodne z dokumentów. W tym artykule dowiesz się, jak usunąć znaki wodne z dokumentów PDF za pomocą Java.

W tym artykule omówiono/omówiono następujące tematy:

API Java do usuwania znaku wodnego

Będę używać interfejsu API GroupDocs.Watermark for Java do usuwania znaków wodnych z dokumentów PDF. Umożliwia wykonywanie operacji znakowania wodnego obrazu i tekstu. Umożliwia także stosowanie nowych znaków wodnych, wyszukiwanie i usuwanie istniejących znaków wodnych w plikach obsługiwanych formatów, takich jak Word, Excel, Powerpoint i PDF.

Możesz pobrać plik JAR interfejsu API lub po prostu dodać następującą konfigurację pom.xml do aplikacji Java opartych na Maven, aby wypróbować poniższe przykłady kodu.

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

Usuń wszystkie znaki wodne z pliku PDF za pomocą Java

Możesz łatwo usunąć wszystkie znaki wodne z dokumentów PDF, wykonując proste kroki wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak usunąć wszystkie znaki wodne dostępne w dokumencie PDF przy użyciu języka Java.

// Utwórz instancję
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Wyszukaj wszystkie możliwe znaki wodne
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Usuń wszystkie znalezione znaki wodne
possibleWatermarks.clear();

// Zapisz zaktualizowany plik
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Usuń wszystkie znaki wodne z pliku PDF za pomocą Java

Usuń wszystkie znaki wodne z pliku PDF za pomocą Java

Klasa Watermarker ułatwia dodawanie, usuwanie i wyszukiwanie znaków wodnych w dokumencie.

Klasa PossibleWatermarkCollection reprezentuje zbiór możliwych znaków wodnych znalezionych w treści.

Metoda search() klasy Watermarker przeszukuje wszystkie możliwe znaki wodne w dokumencie. Zwraca zestaw wyników jako CouldWatermarkCollection.

Usuwanie wyłącznie tekstowych znaków wodnych z plików PDF przy użyciu języka Java

Możesz łatwo usunąć wszystkie tekstowe znaki wodne z dokumentów PDF, wykonując proste kroki wymienione poniżej:

  • Utwórz instancję klasy Watermarker.
  • Określ ścieżkę do wejściowego pliku PDF
  • Wypełnij PossibleWatermarkCollection, wywołując metodę search()
  • Sprawdź, czy funkcja getText() nie ma wartości null lub jest pusta dla wszystkich możliwych znaków wodnych
  • Następnie przekaż indeks do metody removeAt(), aby go usunąć
  • Zapisz zaktualizowany plik

Poniższy przykładowy kod pokazuje, jak usunąć tylko tekstowe znaki wodne dostępne w dokumencie PDF przy użyciu języka Java.

// Utwórz instancję
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Wyszukaj wszystkie możliwe znaki wodne
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Usuń wszystkie znalezione znaki wodne
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
  {
    possibleWatermarks.removeAt(i);
  }
}

// Zapisz zaktualizowany dokument
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Usuwanie wyłącznie tekstowych znaków wodnych z plików PDF przy użyciu języka Java

Usuwanie wyłącznie tekstowych znaków wodnych z plików PDF przy użyciu języka Java

Metoda removeAt() usuwa element o określonym indeksie z kolekcji CouldWatermarksCollection.

Usuń znaki wodne z określonym formatowaniem tekstu

Możesz usunąć tekstowe znaki wodne dostępne w określonym formacie z dokumentów PDF, wykonując proste czynności wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak usunąć tekstowe znaki wodne o określonym formatowaniu tekstu z dokumentu PDF przy użyciu języka Java.

// Utwórz instancję
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Zdefiniuj kryteria wyszukiwania formatowania tekstu
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);

// Wyszukaj możliwe znaki wodne
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();

// Zapisz zaktualizowany dokument
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Usuń znaki wodne z określonym formatowaniem tekstu

Usuń znaki wodne z określonym formatowaniem tekstu

Usuwanie znaków wodnych tylko obrazu z pliku PDF przy użyciu języka Java

Możesz łatwo usunąć wszystkie znaki wodne zawierające wyłącznie obrazy z dokumentów PDF, wykonując proste kroki wymienione poniżej:

  • Utwórz instancję klasy Watermarker.
  • Określ ścieżkę do wejściowego pliku PDF
  • Wypełnij PossibleWatermarkCollection, wywołując metodę search()
  • Sprawdź, czy funkcja getImageData() nie ma wartości null dla wszystkich możliwych znaków wodnych
  • Następnie przekaż indeks do metody removeAt(), aby go usunąć
  • Zapisz zaktualizowany plik

Poniższy przykładowy kod pokazuje, jak usunąć tylko znaki wodne obrazu dostępne w dokumencie PDF przy użyciu języka Java.

// Utwórz instancję
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Wyszukaj wszystkie możliwe znaki wodne
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Usuń wszystkie znaki wodne obrazu
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getImageData() != null)
  {
    possibleWatermarks.removeAt(i);
  }
}

// Zapisz zaktualizowany dokument
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Usuwanie znaków wodnych tylko obrazu z pliku PDF przy użyciu języka Java

Usuwanie znaków wodnych tylko obrazu z pliku PDF przy użyciu języka Java

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule dowiesz się, jak usunąć tekstowe lub graficzne znaki wodne z dokumentu PDF za pomocą języka Java. Ponadto nauczyłeś się, jak usuwać z dokumentów znaki wodne składające się wyłącznie z tekstu lub obrazu. Więcej informacji na temat API GroupDocs.Watermark for Java można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też