Aggiungere un identificatore visivo ai file PDF è fondamentale per proteggere la proprietà intellettuale e per il branding dei documenti. GroupDocs.Watermark Cloud SDK for Java offre un’API semplice per incorporare filigrane immagine direttamente nei PDF dalla tua applicazione Java. In questo tutorial imparerai come aggiungere una filigrana immagine ai documenti PDF in Java, vedrai un esempio completo funzionante e scoprirai le chiamate REST cURL equivalenti per l’integrazione cloud.

Aggiungi filigrana immagine ai documenti PDF in Java in 5 passaggi

  1. Inizializzare il client API: Crea un’istanza di ApiClient con il tuo client ID e secret.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

Questo passaggio collega il tuo codice Java al servizio GroupDocs.Watermark Cloud. Consulta il riferimento API per ulteriori dettagli.

  1. Specifica il file PDF di origine: Crea un oggetto FileInfo che punti al PDF a cui desideri aggiungere la filigrana.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

Il file deve essere caricato nel tuo storage GroupDocs prima della richiesta.

  1. Configura il watermark immagine: Definisci il percorso dell’immagine, l’opacità, il fattore di scala, la rotazione e l’allineamento.
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png");
imageWatermark.setOpacity(0.5);
imageWatermark.setScaleFactor(0.3);
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10));

Regola questi valori per ottenere l’aspetto desiderato; l’opacità controlla la trasparenza, mentre il fattore di scala determina la dimensione rispetto alla pagina.

  1. Imposta le opzioni del watermark e il percorso di output: Combina le informazioni del file e il watermark in un oggetto WatermarkOptions.

    WatermarkOptions options = new WatermarkOptions();
    options.setFileInfo(fileInfo);
    options.setImageWatermark(imageWatermark);
    options.setOutputPath("output.pdf");
    

    Il outputPath indica al servizio dove memorizzare il PDF risultante.

  2. Esegui la richiesta: Crea un AddWatermarkRequest e chiama l’API. Gestisci le risposte di successo o di errore.

AddWatermarkRequest request = new AddWatermarkRequest(options);
try {
    AddWatermarkResponse response = watermarkApi.addWatermark(request);
    System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (Exception e) {
    System.err.println("Error adding watermark: " + e.getMessage());
}

Dopo l’esecuzione, il PDF con filigrana è disponibile nella posizione specificata.

Esempio di codice completo: aggiungere filigrana immagine ai documenti PDF in Java

Il seguente esempio dimostra l’implementazione completa dall’inizializzazione del client al salvataggio del PDF con filigrana.

import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;

public class AddImageWatermarkExample {
    public static void main(String[] args) {
        // Initialize API client (replace with your actual credentials)
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(apiClient);

// Input PDF file information
        FileInfo fileInfo = new FileInfo();
        fileInfo.setFilePath("input.pdf");

// Image watermark configuration
        ImageWatermark imageWatermark = new ImageWatermark();
        imageWatermark.setImagePath("watermark.png");          // Path to watermark image
        imageWatermark.setOpacity(0.5);                        // 50% opacity
        imageWatermark.setScaleFactor(0.3);                    // 30% of page size
        imageWatermark.setRotationAngle(0);                    // No rotation
        imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
        imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
        imageWatermark.setMargin(new Margin(10, 10, 10, 10));  // 10 points margin on all sides

// Watermark options
        WatermarkOptions options = new WatermarkOptions();
        options.setFileInfo(fileInfo);
        options.setImageWatermark(imageWatermark);
        options.setOutputPath("output.pdf"); // Resulting PDF with watermark

// Create request and call API
        AddWatermarkRequest request = new AddWatermarkRequest(options);
        try {
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error adding watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (input.pdf, watermark.png, output.pdf) per corrispondere alle tue effettive posizioni, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Applica filigrana immagine ai documenti PDF tramite cURL e REST API

Di seguito sono riportate le chiamate REST che è possibile utilizzare con cURL per ottenere lo stesso risultato senza scrivere codice Java.

  1. Ottieni un token di accesso
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

La risposta contiene un access_token utilizzato nelle chiamate successive.

  1. Carica il PDF di origine

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/input.pdf"
    
  2. Carica l’immagine del watermark

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/watermark.png"
    
  3. Aggiungi il watermark immagine

    curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
               "fileInfo": { "filePath": "input.pdf" },
               "imageWatermark": {
                   "imagePath": "watermark.png",
                   "opacity": 0.5,
                   "scaleFactor": 0.3,
                   "horizontalAlignment": "Center",
                   "verticalAlignment": "Center",
                   "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
               },
               "outputPath": "output.pdf"
             }'
    

    Questa richiesta replica la logica del codice Java, applicando le stesse impostazioni di opacità, scala e allineamento.

  4. Scarica il PDF con filigrana

    curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.pdf
    

Per ulteriori dettagli su corpi della richiesta e parametri supportati, vedere la documentazione ufficiale dell’API.

Installazione e configurazione GroupDocs.Watermark Cloud SDK for Java

Aggiungi la dipendenza Maven al tuo pom.xml (o lo snippet Gradle equivalente). La libreria è ospitata su Maven Central.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

È necessario anche un account valido di GroupDocs Cloud. Recupera il tuo Client ID e Client Secret dal portale GroupDocs. Non è richiesta alcuna installazione aggiuntiva del runtime perché l’SDK comunica con il servizio cloud.

Ottimizzazione delle opzioni di filigrana immagine per documenti PDF

L’SDK espone diverse proprietà che consentono di controllare l’aspetto visivo della filigrana.

Regola Opacità

imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark

I valori di opacità vanno da 0.0 (completamente trasparente) a 1.0 (completamente opaco).

Modifica fattore di scala

imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width

Il fattore di scala determina la dimensione della filigrana rispetto alle dimensioni della pagina.

Imposta allineamento e margini

imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));

Queste impostazioni posizionano la filigrana nell’angolo inferiore destro con un margine di 20 punti.

Per un elenco completo delle proprietà configurabili, fare riferimento al riferimento API.

Conclusione

Aggiungere una filigrana immagine ai documenti PDF in Java è un compito semplice quando si utilizza il GroupDocs.Watermark Cloud SDK for Java. L’SDK gestisce tutta la manipolazione PDF a basso livello, consentendoti di concentrarti sugli aspetti visivi come opacità, scala e posizionamento. Che tu preferisca un’implementazione Java nativa o un flusso di lavoro basato su cURL nel cloud, gli stessi risultati di alta qualità sono ottenibili senza sacrificare le prestazioni. Ricorda di ottenere una licenza adeguata per l’uso in produzione; i dettagli dei prezzi sono disponibili nella pagina del prodotto e una pagina di licenza temporanea può essere utilizzata per la valutazione.

Domande frequenti

  • Come aggiungere una filigrana immagine a un PDF in Java senza perdere qualità?
    Utilizza la proprietà scaleFactor per dimensionare la filigrana rispetto alla pagina e mantenere i DPI originali del PDF di origine. L’SDK conserva la risoluzione del PDF, quindi la filigrana appare nitida a qualsiasi livello di zoom.

  • Posso aggiungere più filigrane allo stesso PDF?
    Sì. Crea oggetti ImageWatermark separati con configurazioni diverse e aggiungili in sequenza chiamando addWatermark più volte o aggiungendoli a un elenco nella richiesta.

  • Quali sono i formati immagine supportati per il watermark?
    L’API accetta i tipi di immagine comuni come PNG, JPG, BMP, GIF e TIFF. PNG è consigliato per la qualità senza perdita e il supporto della trasparenza.

  • È possibile visualizzare l’anteprima del watermark prima di applicarlo?
    È possibile utilizzare il GroupDocs.Watermark Cloud SDK for Java per generare un PDF temporaneo con il watermark e scaricarlo per la revisione. Questo utilizza la stessa chiamata addWatermark con un percorso di output che punta a una posizione temporanea.

Leggi di più