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
- Remover todas as marcas d’água de PDF usando Java
- Remoção de marcas d’água somente de texto de PDF usando Java
- Remover marcas d’água com formatação de texto específica
- Remoção de marcas d’água somente de imagem de PDF usando Java
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:
- Crie uma instância da classe Watermarker
- Especifique o caminho para o arquivo PDF de entrada
- Preencha PossibleWatermarkCollection chamando o método search()
- Chame o método clear() para remover todas as marcas d’água
- Salve o arquivo atualizado
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();
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();
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:
- Crie uma instância da classe Watermarker
- Especifique o caminho para o arquivo PDF de entrada
- Defina o TextFormattingSearchCriteria
- Preencha PossibleWatermarkCollection chamando o método search()
- Chame o método clear() para remover todas as marcas d’água encontradas
- Salve o arquivo atualizado
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();
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();
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.