Se você precisar adicionar marca d’água a PDF em Java, uma sobreposição visual pode proteger seus documentos contra uso não autorizado. Conholdate.Total for Java fornece um SDK poderoso que simplifica a manipulação de PDF no lado do servidor. Neste guia você verá um exemplo completo, pronto‑para‑executar, aprenderá como cada linha funciona, configurará a dependência Maven e descobrirá opções para ajustar finamente a opacidade, rotação e alinhamento para resultados profissionais.

Exemplo de Código Completo: Adicionando uma Marca d’água de Texto ao PDF em Java

O exemplo a seguir demonstra como adicionar uma marca d’água de texto a um PDF usando Conholdate.Total for Java.

import com.groupdocs.watermark.Watermark;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfSaveOptions;
import com.groupdocs.watermark.watermarks.TextWatermark;
import com.groupdocs.watermark.watermarks.HorizontalAlignment;
import com.groupdocs.watermark.watermarks.VerticalAlignment;
import java.awt.Color;
import java.awt.Font;

public class AddPdfWatermark {
    public static void main(String[] args) {
        String inputFile = "input.pdf";
        String outputFile = "output.pdf";

// Create a text watermark
        Font font = new Font("Arial", Font.BOLD, 48);
        TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
        textWatermark.setColor(Color.RED);
        textWatermark.setOpacity(0.3);
        textWatermark.setRotationAngle(45);
        textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
        textWatermark.setVerticalAlignment(VerticalAlignment.Center);

// Load options for the source PDF (enable caching for large files)
        PdfLoadOptions loadOptions = new PdfLoadOptions(inputFile);
        loadOptions.setCacheSize(100 * 1024 * 1024); // 100 MB cache

// Initialize the Watermark processor
        Watermark watermark = new Watermark();

try {
            // Apply the watermark to every page of the PDF
            watermark.add(textWatermark, loadOptions);

// Save the watermarked PDF
            PdfSaveOptions saveOptions = new PdfSaveOptions();
            watermark.save(outputFile, saveOptions);
        } catch (Exception e) {
            System.err.println("Failed to add watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

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.pdf, output.pdf, etc.) para corresponder à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.

Entendendo a Adição de Marca d’água a PDF em Código Java

O código para adicionar marca d’água a PDF em Java segue uma sequência clara que você pode adaptar para qualquer documento PDF.

  1. Inicializar o Processador de Marca d’água - Watermark watermark = new Watermark(); cria o mecanismo que aplicará marcas d’água.
  2. Criar um TextWatermark - O objeto TextWatermark contém o texto, a fonte, a cor, a opacidade e a rotação.
    Font font = new Font("Arial", Font.BOLD, 48);
    TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
    
  3. Configurar a Aparência - Métodos como setColor, setOpacity e setRotationAngle definem como a marca d’água aparece na página.
  4. Carregar o PDF de Origem - PdfLoadOptions carrega o arquivo de entrada e habilita o cache para documentos grandes, o que reduz a pressão de memória.
  5. Aplicar e Salvar - watermark.add(textWatermark, loadOptions); aplica a marca d’água a todas as páginas, e watermark.save(outputFile, saveOptions); grava o resultado.

Carregando o PDF de origem com cache

Quando você trabalha com PDFs de vários megabytes, habilitar um cache impede que o SDK carregue o documento inteiro na memória. A linha loadOptions.setCacheSize(100 * 1024 * 1024); reserva 100 MB para armazenamento temporário, permitindo que o processador faça streaming das páginas conforme necessário. Essa abordagem é especialmente útil em ambientes de servidor onde muitas tarefas de marca d’água concorrentes podem ser executadas.

Para informações detalhadas da API, veja a referência da API Java.

Preparando o Ambiente para Marca d’água em PDF

O fluxo de trabalho de adicionar marca d’água a PDF em Java começa com a adição da dependência Maven. Depois disso, você precisa de um JDK compatível e de uma pequena quantidade de configuração.

Pré-requisitos e versão do Java

  • Java 8 ou superior é necessário; o SDK usa recursos modernos da linguagem e streams.
  • Maven 3.5+ simplifica o gerenciamento de dependências.
  • Certifique‑se de que o pom.xml do seu projeto inclua o repositório Conholdate para que o Maven possa resolver o artefato.
<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 obter os arquivos JAR diretamente da página de download. Depois de adicionar a dependência, execute mvn clean install para verificar se o SDK está no seu classpath.

Usando a API REST (Opcional)

Se você preferir uma abordagem independente de linguagem, o Conholdate.Total também oferece um endpoint REST que pode adicionar marcas d’água sem nenhum código Java. Um comando curl simples se parece com isto:

curl -X POST "https://api.conholdate.com/v1/pdf/watermark" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F "file=@input.pdf" \
  -F "text=CONFIDENTIAL" \
  -F "font=Arial" \
  -F "fontSize=48" \
  -F "color=FF0000" \
  -F "opacity=0.3" \
  -F "angle=45" \
  -F "horizontalAlignment=center" \
  -F "verticalAlignment=center" \
  -o output.pdf

A versão REST segue os mesmos passos lógicos de carregar, configurar, aplicar e salvar, de modo que você pode escolher a abordagem que melhor se adapta à sua arquitetura.

Configurando a Aparência e a Posição da Marca d’água

O SDK expõe várias propriedades que permitem ajustar finamente a marca d’água. Abaixo estão as configurações mais frequentemente ajustadas.

Personalizando Fonte e Cor

Você pode substituir a fonte Arial padrão por qualquer fonte TrueType disponível no servidor. Alterar a cor é tão simples quanto passar uma constante java.awt.Color diferente ou criar um valor RGB personalizado.

Font customFont = new Font("Times New Roman", Font.ITALIC, 36);
textWatermark.setColor(new Color(0, 102, 204)); // Deep blue
textWatermark.setFont(customFont);

Ajustando Opacidade e Rotação

A opacidade controla o quão transparente a marca d’água aparece. Os valores variam de 0.0 (completamente invisível) a 1.0 (totalmente opaco). A rotação permite inclinar o texto para torná-lo mais difícil de remover.

textWatermark.setOpacity(0.45);      // 45% opacity
textWatermark.setRotationAngle(30); // 30 degrees clockwise

Alinhando a Marca d’água na página

As propriedades de alinhamento horizontal e vertical aceitam Left, Center, Right e Top, Center, Bottom. O centramento é comum para carimbos confidenciais, mas você pode posicionar a marca d’água em um canto para fins de branding.

textWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);

Se você quiser adicionar marca d’água de texto ao PDF em Java com um layout diferente em cada página, pode modificar essas propriedades dentro de um loop que processa as páginas individualmente. O SDK também suporta marcas d’água de imagem, preenchimentos em degradê e texto multilinha, caso seu caso de uso exija mais complexidade visual.

Conclusão

Adicionar uma marca d’água a PDF em Java é simples com Conholdate.Total for Java. O SDK lida com carregamento, processamento e salvamento de PDFs de forma eficiente, mesmo para arquivos grandes graças ao cache interno. Ao personalizar opacidade, rotação, fonte, cor e alinhamento, você pode criar marcas d’água com aparência profissional que desencorajam a distribuição não autorizada. Lembre‑se de adquirir uma licença adequada para uso em produção; você pode solicitar uma licença temporária na página de licença temporária ou revisar as opções de preços na página de preços. Com o código e as etapas de configuração cobertos, você está pronto para integrar a marca d’água de PDF em suas aplicações Java.

Perguntas Frequentes

Como posso adicionar marca d’água a um PDF em Java sem escrever código PDF de baixo nível?
Use a classe Watermark de Conholdate.Total for Java. Ela abstrai a estrutura do PDF, permitindo que você se concentre nas propriedades da marca d’água, como texto, fonte e posicionamento.

Quais opções estão disponíveis para estilizar a marca d’água de texto?
Você pode definir a fonte (new Font(...)), tamanho, estilo (negrito, itálico), cor (setColor), opacidade (setOpacity), rotação (setRotationAngle) e alinhamento (setHorizontalAlignment, setVerticalAlignment). Essas opções são demonstradas no exemplo de código completo.

O SDK pode processar PDFs grandes de forma eficiente?
Sim. Ao configurar PdfLoadOptions.setCacheSize, você habilita streaming e cache, o que reduz o consumo de memória para PDFs de vários megabytes. Isso torna o fluxo de trabalho de adicionar marca d’água a PDF em Java adequado para processamento em lote em servidores.

Preciso comprar uma licença para executar este exemplo?
É necessária uma licença para implantações de produção. Obtenha uma licença temporária na página de licença temporária ou explore os detalhes completos de preços na página de preços.

Leia Mais