Le filigrane vengono utilizzate principalmente per i documenti citati come bozze e per evitare qualsiasi uso illegale di documenti riservati. Quando la bozza è stata completata o la riservatezza è terminata, è possibile rimuovere le filigrane da tali documenti. Le filigrane possono essere basate su testo o immagini. In questo articolo, daremo un’occhiata a come rimuovere le filigrane dai documenti PDF in Java.

Rimuovere a livello di codice le filigrane dai file PDF.

API Java per rimuovere filigrane PDF

GroupDocs.Watermark fornisce l’API Java per gestire le filigrane all’interno di documenti e immagini di diversi formati di file. Se stai creando un’app per la rimozione della filigrana, ti fornisce alcuni modi utili per:

  • Rimuovere tutte le filigrane dal documento PDF
  • Rimuovere le filigrane dei collegamenti ipertestuali
  • Elimina filigrane con una particolare formattazione del testo

Impariamo come uno sviluppatore Java può rimuovere filigrane dal PDF utilizzando l’API GroupDocs.Watermark for Java in diversi modi. Prima di tutto, scarica e configura l’API con la tua applicazione.

Scarica o configura

Puoi scaricare il file JAR dalla sezione download o utilizzare l’ultimo repository e le configurazioni delle dipendenze Maven all’interno delle tue applicazioni 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>

Rimuovi tutte le filigrane dai file PDF in Java

L’API ti dà il potere di trovare facilmente e quindi rimuovere una filigrana particolare e tutte le filigrane dal documento. I seguenti passaggi mostrano come rimuovere tutte le filigrane da un documento PDF in Java.

  • Carica il documento PDF utilizzando Watermarker.
  • Recupera tutte le possibili filigrane come raccolta utilizzando la ricerca.
  • Attraversa l’intera collezione e rimuovi ogni filigrana o quella che soddisfa il criterio.
  • Salva il PDF aggiornato senza filigrana.

Il seguente codice Java rimuove tutte le filigrane da un documento PDF.

// Rimuovi le filigrane da PDF e altri documenti in Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Rimuovere ogni filigrana menzionando l'indice all'interno del documento.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

Rimuovere la filigrana del collegamento ipertestuale in Java

L’API di filigrana consente di cercare e rimuovere i collegamenti ipertestuali dal documento PDF. I seguenti passaggi consentono di rimuovere le filigrane dei collegamenti ipertestuali da un documento PDF all’interno dell’applicazione Java.

  • Carica il file PDF utilizzando Watermarker.
  • Recupera le possibili filigrane come raccolta utilizzando la ricerca.
  • Attraversa la raccolta e rimuovi le filigrane che soddisfano il criterio.
  • Salva il PDF aggiornato senza più filigrane.

Il seguente esempio di codice Java mostra come trovare e rimuovere filigrane di collegamenti ipertestuali con un determinato URL da un documento PDF.

// Rimuovere le filigrane dei collegamenti ipertestuali dal PDF in Java
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");

Rimuovi la filigrana dal PDF con una particolare formattazione del testo in Java

È anche possibile rimuovere la filigrana con la formattazione del testo specifica. Puoi fornire il nome del carattere, la sua dimensione, colore, ecc. come criterio di ricerca. L’API troverà le filigrane con proprietà corrispondenti. I seguenti passaggi mostrano come cercare e rimuovere filigrane da un file PDF con una formattazione del testo specifica in Java.

  • Carica il file PDF utilizzando Watermarker.
  • Impostare il criterio di ricerca utilizzando TextFormattingSearchCriteria.
  • Fornire tutte le proprietà di formattazione richieste.
  • Cerca e ottieni tutte le possibili filigrane come raccolta fornendo i criteri definiti.
  • Rimuovi tutte le filigrane cercate utilizzando il metodo clear().
  • Salva il PDF aggiornato senza filigrana con le proprietà definite.

Il seguente codice Java rimuove le filigrane in un documento PDF con la formattazione del testo specificata.

// Rimuovere le filigrane con una formattazione del testo specifica da un PDF in Java
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();

Conclusione

Per riassumere, abbiamo imparato come rimuovere diverse filigrane dai documenti PDF in Java. Abbiamo rimosso in modo specifico tutte le filigrane applicate, quindi abbiamo rimosso le filigrane dei collegamenti ipertestuali e le filigrane con una formattazione del testo specifica. Prova a creare la tua applicazione Java per trovare e rimuovere le filigrane dai documenti PDF. Inoltre, puoi saperne di più su GroupDocs.Watermark per Java dalla sua documentazione. Per domande, contattaci tramite il forum.

Guarda anche