Remover marcas d'água de documentos PDF usando Java

A imagem ou o texto da marca d’água é usado para identificar o autor do documento ou as informações de direitos autorais. Você pode detectar todas as marcas d’água disponíveis em um documento e removê-las. Como desenvolvedor Java, você pode remover facilmente marcas d’água de documentos programaticamente. Neste artigo, você aprenderá como remover marcas d’água de documentos PDF usando Java.

Os seguintes tópicos são discutidos/abordados neste artigo:

API Java para remoção de marca d’água

Usarei a API GroupDocs.Watermark for Java para remover marcas d’água de documentos PDF. Permite realizar operações de marca d’água de imagem e texto. Ele também permite que você aplique novas marcas d’água, pesquise e exclua marcas d’água existentes em arquivos de formatos suportados, como Word, Excel, Powerpoint e PDF.

Você pode baixar o JAR da API ou apenas adicionar a seguinte configuração pom.xml em seus aplicativos Java baseados em Maven para experimentar os exemplos de código mencionados abaixo.

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

Remover todas as marcas d’água de PDF usando Java

Você pode remover facilmente todas as marcas d’água de seus documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como remover todas as marcas d’água disponíveis em um documento PDF usando Java.

// Criar uma instância
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Pesquise todas as marcas d'água possíveis
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Remover todas as marcas d'água encontradas
possibleWatermarks.clear();

// Salvar arquivo atualizado
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Remover todas as marcas d'água de PDF usando Java

Remover todas as marcas d’água de PDF usando Java

A classe Watermarker facilita a adição, remoção e pesquisa de marcas d’água em um documento.

A classe PossibleWatermarkCollection representa uma coleção de possíveis marcas d’água encontradas em um conteúdo.

O método search() da classe Watermarker pesquisa todas as marcas d’água possíveis no documento. Ele retorna o conjunto de resultados como PossibleWatermarkCollection.

Remoção de marcas d’água somente de texto de PDF usando Java

Você pode remover facilmente todas as marcas d’água somente de texto de seus documentos PDF seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Watermarker
  • Especifique o caminho para o arquivo PDF de entrada
  • Preencha PossibleWatermarkCollection chamando o método search()
  • Verifique se getText() não é nulo ou vazio para todas as PossibleWatermarks
  • Em seguida, passe o índice para o método removeAt() para removê-lo
  • Salve o arquivo atualizado

O exemplo de código a seguir mostra como remover apenas as marcas d’água de texto disponíveis em um documento PDF usando Java.

// Criar uma instância
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Pesquise todas as marcas d'água possíveis
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Remover todas as marcas d'água encontradas
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
  {
    possibleWatermarks.removeAt(i);
  }
}

// Salvar documento atualizado
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Remoção de marcas d'água somente de texto de PDF usando Java

Remoção de marcas d’água somente de texto de PDF usando Java

O método removeAt() remove o item no índice especificado de PossibleWatermarksCollection.

Remover marcas d’água com formatação de texto específica

Você pode remover marcas d’água de texto disponíveis com formatação específica de seus documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como remover as marcas d’água de texto com formatação de texto específica de um documento PDF usando Java.

// Criar uma instância
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Definir critérios de pesquisa de formatação de texto
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);

// Pesquisar possíveis marcas d'água
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();

// Salvar documento atualizado
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Remover marcas d'água com formatação de texto específica

Remover marcas d’água com formatação de texto específica

Remoção de marcas d’água somente de imagem de PDF usando Java

Você pode remover facilmente todas as marcas d’água somente de imagem de seus documentos PDF seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Watermarker
  • Especifique o caminho para o arquivo PDF de entrada
  • Preencha PossibleWatermarkCollection chamando o método search()
  • Verifique se getImageData() não é nulo para todas as PossibleWatermarks
  • Em seguida, passe o índice para o método removeAt() para removê-lo
  • Salve o arquivo atualizado

O exemplo de código a seguir mostra como remover apenas as marcas d’água de imagem disponíveis em um documento PDF usando Java.

// Criar uma instância
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Pesquise todas as marcas d'água possíveis
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Remover todas as marcas d'água da imagem
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getImageData() != null)
  {
    possibleWatermarks.removeAt(i);
  }
}

// Salvar documento atualizado
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Remoção de marcas d'água somente de imagem de PDF usando Java

Remoção de marcas d’água somente de imagem de PDF usando Java

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como remover marcas d’água de texto ou imagem de um documento PDF usando Java. Além disso, você aprendeu como remover marcas d’água somente de texto ou somente de imagem de documentos. Você pode aprender mais sobre GroupDocs.Watermark for Java API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também