As marcas d’água são usadas principalmente para documentos mencionados como rascunhos e para evitar qualquer uso ilegal de documentos confidenciais. Quando o rascunho finalizado ou a confidencialidade terminar, você poderá remover as marcas d’água desses documentos. As marcas d’água podem ser baseadas em texto ou imagem. Neste artigo, veremos como remover marcas d’água de documentos PDF em Java.

Remova as marcas d'água programaticamente de arquivos PDF.

API Java para remover marcas d’água de PDF

GroupDocs.Watermark fornece API Java para lidar com marcas d’água em documentos e imagens de diferentes formatos de arquivo. Se você estiver criando um aplicativo de remoção de marca d’água, ele fornece algumas maneiras úteis de:

  • Remova todas as marcas d’água do documento PDF
  • Remover marcas d’água de hiperlink
  • Excluir marcas d’água com formatação de texto específica

Vamos aprender como um desenvolvedor Java pode remover marcas d’água de PDF usando a API GroupDocs.Watermark for Java de diferentes maneiras. Antes de tudo, baixe e configure a API com seu aplicativo.

Baixe ou configure

Você pode fazer download do arquivo JAR da seção downloads ou usar as configurações mais recentes de repositório e dependência Maven em seus aplicativos 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>

Remover todas as marcas d’água de arquivos PDF em Java

A API permite que você encontre e remova facilmente uma marca d’água específica e todas as marcas d’água do documento. As etapas a seguir mostram como remover todas as marcas d’água de um documento PDF em Java.

  • Carregue o documento PDF usando Watermarker.
  • Busque todas as possíveis marcas d’água como uma coleção usando a pesquisa.
  • Percorra toda a coleção e remova todas as marcas d’água ou aquela que atenda ao critério.
  • Salve o PDF atualizado sem marca d’água.

O código Java a seguir remove todas as marcas d’água de um documento PDF.

// Remova as marcas d'água de PDF e outros documentos em Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Remova todas as marcas d'água mencionando o índice no documento.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

A API de marca d’água permite pesquisar e remover hiperlinks do documento PDF. As etapas a seguir permitem remover marcas d’água de hiperlink de um documento PDF no aplicativo Java.

  • Carregue o arquivo PDF usando Watermarker.
  • Busque as possíveis marcas d’água como uma coleção usando a pesquisa.
  • Percorrer a coleção e remover a(s) marca(s) d’água que atendem ao critério.
  • Salve o PDF atualizado sem mais marcas d’água nele.

O exemplo de código Java a seguir mostra como localizar e remover marcas d’água de hiperlink com uma URL específica de um documento PDF.

// Remover marcas d'água de hiperlink de PDF em 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");

Remover marca d’água de PDF com formatação de texto específica em Java

A marca d’água com a formatação de texto específica também pode ser removida. Você pode fornecer o nome da fonte, seu tamanho, cor, etc. como critério de pesquisa. A API encontrará as marcas d’água com propriedades correspondentes. As etapas a seguir demonstram como pesquisar e remover marcas d’água de um arquivo PDF com uma formatação de texto específica em Java.

  • Carregue o arquivo PDF usando Watermarker.
  • Defina o critério de pesquisa usando TextFormattingSearchCriteria.
  • Forneça todas as propriedades de formatação necessárias.
  • Pesquise e obtenha todas as possíveis marcas d’água como uma coleção, fornecendo os critérios definidos.
  • Remova todas as marcas d’água pesquisadas usando o método clear().
  • Salve o PDF atualizado sem marca d’água com as propriedades definidas.

O código Java a seguir remove as marcas d’água em um documento PDF com a formatação de texto especificada.

// Remova marcas d'água com formatação de texto específica de um PDF em 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();

Conclusão

Para resumir, aprendemos maneiras de remover diferentes marcas d’água dos documentos PDF em Java. Removemos especificamente todas as marcas d’água aplicadas e, em seguida, removemos marcas d’água de hiperlinks e marcas d’água com formatação de texto específica. Tente construir seu próprio aplicativo Java para localizar e remover as marcas d’água de documentos PDF. Além disso, você pode aprender mais sobre GroupDocs.Watermark for Java em sua documentação. Para dúvidas, entre em contato conosco através do fórum.

Veja também