Rimuovere le filigrane dai documenti PDF utilizzando Java

L’immagine o il testo della filigrana viene utilizzato per identificare l’autore del documento o le informazioni sul copyright. È possibile rilevare tutte le filigrane disponibili in un documento e quindi rimuoverle. Come sviluppatore Java, puoi rimuovere facilmente le filigrane dai documenti in modo programmatico. In questo articolo imparerai come rimuovere le filigrane dai documenti PDF utilizzando Java.

I seguenti argomenti sono discussi/trattati in questo articolo:

API Java per la rimozione della filigrana

Userò l’API GroupDocs.Watermark per Java per rimuovere le filigrane dai documenti PDF. Consente di eseguire operazioni di filigrana di immagini e testo. Consente inoltre di applicare nuove filigrane, cercare ed eliminare filigrane esistenti in file di formati supportati come Word, Excel, Powerpoint e PDF.

Puoi scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nelle tue applicazioni Java basate su Maven per provare gli esempi di codice indicati di seguito.

<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>

Rimuovi tutte le filigrane dal PDF utilizzando Java

Puoi rimuovere facilmente tutte le filigrane dai tuoi documenti PDF seguendo i semplici passaggi indicati di seguito:

L’esempio di codice seguente mostra come rimuovere tutte le filigrane disponibili in un documento PDF utilizzando Java.

// Crea un'istanza
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Cerca tutte le possibili filigrane
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Rimuovi tutte le filigrane trovate
possibleWatermarks.clear();

// Salva file aggiornato
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Rimuovi tutte le filigrane dal PDF utilizzando Java

Rimuovi tutte le filigrane dal PDF utilizzando Java

La classe Watermarker facilita l’aggiunta, la rimozione e la ricerca di filigrane in un documento.

La classe PossibleWatermarkCollection rappresenta una raccolta di possibili filigrane trovate in un contenuto.

Il metodo search() della classe Watermarker ricerca tutte le possibili filigrane nel documento. Restituisce il set di risultati come PossibleWatermarkCollection.

Rimozione di filigrane di solo testo da PDF utilizzando Java

Puoi rimuovere facilmente tutte le filigrane di solo testo dai tuoi documenti PDF seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Watermarker.
  • Specificare il percorso del file PDF di input
  • Popolare PossibleWatermarkCollection chiamando il metodo search().
  • Controlla se getText() non è nullo o vuoto per tutti i PossibleWatermarks
  • Quindi passa l’indice al metodo removeAt() per rimuoverlo
  • Salva il file aggiornato

L’esempio di codice seguente mostra come rimuovere solo le filigrane di testo disponibili in un documento PDF utilizzando Java.

// Crea un'istanza
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Cerca tutte le possibili filigrane
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Rimuovi tutte le filigrane trovate
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
  {
    possibleWatermarks.removeAt(i);
  }
}

// Salva documento aggiornato
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Rimozione di filigrane di solo testo da PDF utilizzando Java

Rimozione di filigrane di solo testo da PDF utilizzando Java

Il metodo removeAt() rimuove l’elemento in corrispondenza dell’indice specificato da PossibleWatermarksCollection.

Rimuovere le filigrane con una particolare formattazione del testo

Puoi rimuovere le filigrane di testo disponibili con una formattazione particolare dai tuoi documenti PDF seguendo i semplici passaggi indicati di seguito:

L’esempio di codice seguente mostra come rimuovere le filigrane di testo con una particolare formattazione del testo da un documento PDF utilizzando Java.

// Crea un'istanza
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Definire i criteri di ricerca per la formattazione del testo
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);

// Cerca possibili filigrane
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();

// Salva documento aggiornato
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Rimuovere le filigrane con una particolare formattazione del testo

Rimuovere le filigrane con una particolare formattazione del testo

Rimozione di filigrane di sole immagini da PDF utilizzando Java

Puoi rimuovere facilmente tutte le filigrane di sole immagini dai tuoi documenti PDF seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Watermarker.
  • Specificare il percorso del file PDF di input
  • Popolare PossibleWatermarkCollection chiamando il metodo search().
  • Controlla se getImageData() non è nullo per tutti i PossibleWatermarks
  • Quindi passa l’indice al metodo removeAt() per rimuoverlo
  • Salva il file aggiornato

L’esempio di codice seguente mostra come rimuovere solo le filigrane dell’immagine disponibili in un documento PDF utilizzando Java.

// Crea un'istanza
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Cerca tutte le possibili filigrane
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Rimuovi tutte le filigrane dell'immagine
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getImageData() != null)
  {
    possibleWatermarks.removeAt(i);
  }
}

// Salva documento aggiornato
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Rimozione di filigrane di sole immagini da PDF utilizzando Java

Rimozione di filigrane di sole immagini da PDF utilizzando Java

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come rimuovere filigrane di testo o immagini da un documento PDF utilizzando Java. Inoltre, hai imparato come rimuovere filigrane di solo testo o solo immagine dai documenti. Puoi saperne di più sull’API GroupDocs.Watermark per Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche