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
- Inizializzare il client API: Crea un’istanza di
ApiClientcon 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.
- Specifica il file PDF di origine: Crea un oggetto
FileInfoche 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.
- 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.
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
outputPathindica al servizio dove memorizzare il PDF risultante.Esegui la richiesta: Crea un
AddWatermarkRequeste 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.
- 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.
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"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"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.
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àscaleFactorper 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 oggettiImageWatermarkseparati con configurazioni diverse e aggiungili in sequenza chiamandoaddWatermarkpiù 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 chiamataaddWatermarkcon un percorso di output che punta a una posizione temporanea.
