Incorporar uma marca d’água em uma planilha ajuda a proteger dados sensíveis e sinaliza a propriedade do documento. Conholdate.Total for Java fornece uma API simples que permite inserir marca d’água no Excel em Java com apenas algumas linhas de código. Este guia orienta você através da configuração necessária, da implementação completa e das principais opções de configuração para que possa proteger seus livros de Excel de forma eficiente.
Como Inserir Marca d’Água no Excel em Java - Passo a Passo
Carregar a Pasta de Trabalho com ExcelLoadOptions
- Carregue a pasta de trabalho do Excel: Use
Watermarkerjunto comExcelLoadOptionspara abrir o arquivo.
Watermarker watermarker = new Watermarker(inputPath, new ExcelLoadOptions());
A classe Watermarker está documentada na referência da API. Carregar com ExcelLoadOptions lhe dá controle sobre o uso de memória, o que é essencial para pastas de trabalho grandes.
Criar uma Marca d’água de Texto com Estilo
- Criar uma marca d’água de texto: Defina fonte, cor, opacidade, rotação e alinhamento.
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3);
watermark.setRotationAngle(45);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
Definir opacity para 0.3 torna a marca d’água semitransparente, enquanto uma rotação de 45 graus a posiciona diagonalmente na planilha. Você pode ajustar esses valores para atender às diretrizes de marca ou requisitos de conformidade.
Aplicar a Marca d’água a Todas as Planilhas
- Adicionar a marca d’água ao livro de trabalho: O método
adda aplica a cada planilha em uma única chamada.
watermarker.add(watermark);
Se precisar de controle por planilha, você pode recuperar planilhas individuais via watermarker.getWorksheets() e chamar add em cada uma separadamente.
Salvar a Pasta de Trabalho com Marca d’Água
- Salvar a pasta de trabalho com marca d’água: Escolha
ExcelSaveOptionspara controlar o formato de saída e preservar os metadados originais.
watermarker.save(outputPath, new ExcelSaveOptions());
O objeto ExcelSaveOptions permite que você especifique se deseja manter a versão original do arquivo ou atualizar para o padrão XLSX mais recente.
Liberar recursos para evitar vazamentos de memória
- Fechar o Watermarker: Libere recursos para evitar vazamentos de memória, especialmente ao processar muitos arquivos em lote.
watermarker.close();
Fechar o Watermarker também libera quaisquer operações de gravação pendentes, garantindo que o arquivo de saída não seja corrompido.
Estas etapas ilustram como inserir marca d’água no Excel em Java, oferecendo controle sobre a aparência e o desempenho.
Exemplo de Código Completo: Inserir Marca d’água no Excel em Java - Marca d’água Completa em Java
O código a seguir demonstra todo o processo, desde o carregamento da pasta de trabalho até a gravação do resultado.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.contents.TextWatermark;
import com.groupdocs.watermark.common.Font;
import com.groupdocs.watermark.common.Color;
import com.groupdocs.watermark.contents.HorizontalAlignment;
import com.groupdocs.watermark.contents.VerticalAlignment;
import com.groupdocs.watermark.options.load.ExcelLoadOptions;
import com.groupdocs.watermark.options.save.ExcelSaveOptions;
public class ExcelWatermarkExample {
public static void main(String[] args) {
String inputPath = "input.xlsx";
String outputPath = "output_watermarked.xlsx";
Watermarker watermarker = null;
try {
// Load the Excel workbook (works for both XLS and XLSX)
ExcelLoadOptions loadOptions = new ExcelLoadOptions();
// For very large workbooks you can enable streaming mode:
// loadOptions.setLoadAllWorksheets(false);
watermarker = new Watermarker(inputPath, loadOptions);
// Create a text watermark with desired appearance
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3); // 30% opacity
watermark.setRotationAngle(45); // diagonal
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
// Apply the watermark to all worksheets
watermarker.add(watermark);
// Save the watermarked workbook
ExcelSaveOptions saveOptions = new ExcelSaveOptions();
watermarker.save(outputPath, saveOptions);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (watermarker != null) {
watermarker.close();
}
}
}
}
Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (
input.xlsx,output_watermarked.xlsx) para corresponderem às suas localizações reais, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.
Preparando o Ambiente
Adicionar Repositório Maven e Dependência
Adicione o repositório Maven da Conholdate e a dependência SDK ao seu pom.xml:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Você também pode baixar os JARs mais recentes diretamente da página de download. O SDK requer Java 8 ou superior, e uma IDE compatível, como IntelliJ IDEA ou Eclipse, facilitará a depuração.
Configurar Licenciamento (Uso em Produção)
Antes de executar o código de marca d’água em um ambiente de produção, aplique seu arquivo de licença:
import com.groupdocs.watermark.License;
License license = new License();
license.setLicense("path/to/Conholdate.Total.Java.lic");
Uma licença temporária está disponível para avaliação na página de licença temporária. Para projetos de longo prazo, consulte a página de preços para escolher o plano adequado.
O que torna o Conholdate.Total for Java adequado para marca d’água em Excel
Suporte abrangente a XLS/XLSX
A biblioteca lida tanto com os formatos legados XLS quanto com os modernos formatos XLSX sem exigir conversão, preservando fórmulas, gráficos e macros.
Modo de Streaming Eficiente para Grandes Pastas de Trabalho
Ao trabalhar com pastas de trabalho que contêm milhares de linhas, habilite o streaming definindo loadOptions.setLoadAllWorksheets(false). Isso reduz drasticamente o consumo de memória.
Opções avançadas de estilo de marca d’água
Você pode controlar a família da fonte, tamanho, cor, opacidade, ângulo de rotação e alinhamento. A tabela abaixo resume as propriedades mais comumente ajustadas.
| Propriedade | Valor de Exemplo | Impacto |
|---|---|---|
| Font | new Font("Arial", 36) | Determina o estilo visual do texto da marca d’água. |
| Color | Color.RED | Define a cor da marca d’água; qualquer valor RGB é aceito. |
| Opacity | 0.3 (30%) | Controla a transparência; valores menores tornam a marca d’água menos intrusiva. |
| Rotation Angle | 45 degrees | Posiciona a marca d’água diagonalmente para melhor cobertura. |
| Horizontal Alignment | HorizontalAlignment.Center | Posiciona a marca d’água horizontalmente. |
| Vertical Alignment | VerticalAlignment.Center | Posiciona a marca d’água verticalmente. |
Cobertura Automática de Planilhas
Uma única chamada a watermarker.add(watermark) propaga a marca d’água para cada planilha, poupando você de escrever loops repetitivos.
Opções Simples de Salvamento
ExcelSaveOptions permite que você mantenha o formato de arquivo original ou atualize para a versão mais recente do XLSX, e também pode especificar se deseja preservar macros.
Todas essas capacidades são descritas em detalhes na documentação oficial.
Conclusão
Neste tutorial, você aprendeu como inserir marca d’água no Excel em Java usando os recursos poderosos do Conholdate.Total for Java. Seguindo o guia passo a passo, você pode proteger suas planilhas com texto personalizado, controlar a aparência e lidar com arquivos grandes de forma eficiente. Para implantações em produção, você precisará de uma versão licenciada; explore os preços na página de preços e obtenha uma licença temporária na página de licença temporária para avaliar o SDK.
Perguntas frequentes
Como adiciono uma marca d’água de imagem em vez de texto?
Use a classeImageWatermark, defina sua opacidade e alinhamento e adicione-a à instânciaWatermarkerassim como no exemplo de texto. A imagem pode ser um PNG, JPEG, ou BMP, e você também pode redimensioná‑la para caber na planilha. Consulte a referência da API para obter detalhes.A marca d’água será visível após converter a planilha para PDF?
Sim. A marca d’água está incorporada na planilha e aparecerá em qualquer formato que você converter posteriormente, como PDF, ao usar Conholdate.Total for Java. O processo de conversão mantém todos os elementos visuais, incluindo marcas d’água.Posso controlar a marca d’água por planilha?
O SDK aplica a marca d’água a todas as planilhas por padrão, mas você pode carregar planilhas individuais usandowatermarker.getWorksheets().get_Item(index)e chamaraddem cada uma seletivamente. Isso fornece controle detalhado para relatórios que exigem branding diferente por planilha.Preciso de uma licença para desenvolvimento e teste?
Uma licença temporária está disponível para avaliação na página de licença temporária. Para uso comercial, adquira uma licença completa através da página de preços. O arquivo de licença deve ser carregado em tempo de execução conforme mostrado na seção de Configuração.
