Aggiungere didascalie dinamiche, sottotitoli o messaggi promozionali a GIF animate è una necessità comune per le moderne applicazioni web e mobile. GroupDocs.Watermark Cloud SDK for Java offre una potente libreria basata su REST che rende questo compito semplice. In questa guida imparerai come aggiungere una sovrapposizione di testo a GIF usando REST in Java, vedere un’implementazione Java completa, esplorare i comandi cURL equivalenti e comprendere i passaggi di configurazione richiesti.
Aggiungi sovrapposizione di testo a GIF usando REST in Java - Codice di esempio
Questo esempio dimostra come configurare una filigrana di testo e applicarla a ogni fotogramma di un file GIF.
import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.client.Configuration;
import com.groupdocs.watermark.cloud.model.AddWatermarkRequest;
import com.groupdocs.watermark.cloud.model.AddWatermarkResponse;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.OutputFileInfo;
import com.groupdocs.watermark.cloud.model.TextWatermarkOptions;
import com.groupdocs.watermark.cloud.model.HorizontalAlignment;
import com.groupdocs.watermark.cloud.model.VerticalAlignment;
public class AddTextOverlayToGif {
public static void main(String[] args) {
// Initialize API configuration (replace with your actual clientId and clientSecret)
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
// Prepare input file information
FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.gif"); // Path to the source GIF in the storage
inputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Prepare output file information
OutputFileInfo outputFile = new OutputFileInfo();
outputFile.setFilePath("output.gif"); // Desired path for the watermarked GIF
outputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Configure text watermark options
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000"); // Red color in HEX
textOptions.setOpacity(0.5); // 50% opacity
textOptions.setRotationAngle(0.0);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-"); // Apply to all frames/pages
// Build the request
AddWatermarkRequest request = new AddWatermarkRequest();
request.setFileInfo(inputFile);
request.setOutputFileInfo(outputFile);
request.setOptions(textOptions);
try {
// Execute the request
AddWatermarkResponse response = watermarkApi.addWatermark(request);
System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (ApiException e) {
System.err.println("Error while adding watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, 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.
Sovrapporre testo su GIF con REST API usando cURL
Di seguito sono riportati i comandi cURL che eseguono la stessa operazione da un terminale. Illustrano l’intero flusso di lavoro REST: autenticazione, caricamento, aggiunta di filigrana e download.
# 1. Obtain an access token
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"}'
Sostituisci YOUR_ACCESS_TOKEN nelle chiamate seguenti con il token restituito sopra.
# 2. Upload the source GIF to storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @path/to/local/input.gif
# 3. Add text overlay to the GIF
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.gif", "storageName": "MyStorage" },
"outputFileInfo": { "filePath": "output.gif", "storageName": "MyStorage" },
"options": {
"text": "Sample Watermark",
"fontFamily": "Arial",
"fontSize": 24,
"color": "#FF0000",
"opacity": 0.5,
"horizontalAlignment": "Center",
"verticalAlignment": "Middle",
"pageRange": "1-"
}
}'
# 4. Download the watermarked GIF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o path/to/local/output.gif
Per ulteriori dettagli su corpi della richiesta e formati di risposta, consulta la documentazione ufficiale dell’API.
Analisi dell’aggiunta di testo sovrapposto a GIF usando REST in Java - Come funziona
- Inizializza il client API -
new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")crea un oggetto di configurazione che contiene le tue credenziali. L’istanzaWatermarkApiutilizza questa configurazione per firmare ogni richiesta.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
Specifica i file di origine e destinazione -
FileInfoeOutputFileInfoindicano al servizio dove leggere il GIF originale e dove scrivere il risultato. Entrambi possono fare riferimento a un nome di storage personalizzato.FileInfo inputFile = new FileInfo(); inputFile.setFilePath("input.gif"); inputFile.setStorageName("MyStorage");Configura il watermark di testo -
TextWatermarkOptionscontiene tutte le proprietà visive: testo, carattere, dimensione, colore, opacità, rotazione e allineamento. ImpostarepageRangesu"1-"garantisce che ogni fotogramma della GIF animata riceva la sovrapposizione.
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000");
textOptions.setOpacity(0.5);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-");
Costruisci e invia la richiesta -
AddWatermarkRequestraggruppa le informazioni del file e le opzioni. ChiamandowatermarkApi.addWatermark(request)esegue l’operazione sul server e restituisce il percorso del file elaborato.AddWatermarkRequest request = new AddWatermarkRequest(); request.setFileInfo(inputFile); request.setOutputFileInfo(outputFile); request.setOptions(textOptions); AddWatermarkResponse response = watermarkApi.addWatermark(request);Gestire la risposta - La risposta contiene il percorso del file di output. In un’applicazione reale, di solito si scarica il file o si passa il percorso a un altro servizio.
Per un elenco completo di classi e proprietà, fare riferimento al riferimento API.
Installazione e configurazione GroupDocs.Watermark Cloud SDK per Java
Aggiungi la dipendenza Maven al tuo pom.xml (o l’equivalente voce Gradle). Questo include la versione 23.8 dell’SDK.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
Prerequisiti
- Java 8 o versioni successive
- Un account attivo di GroupDocs Cloud
- Client ID e Client Secret (disponibili nella dashboard di GroupDocs Cloud)
Esempio di configurazione
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
Scarica gli ultimi JAR dalla pagina di download. Per l’uso in produzione, applica una licenza valida ottenuta dalla pagina di licenza temporanea.
Conclusione
Aggiungere una sovrapposizione di testo a una GIF usando REST in Java diventa un’operazione ripetibile, lato server, grazie al GroupDocs.Watermark Cloud SDK for Java. L’SDK astrae le complessità della gestione dei fotogrammi animati, permettendoti di concentrarti sul contenuto dei tuoi sottotitoli o messaggi promozionali. Dopo aver integrato il codice di esempio o il flusso di lavoro cURL, puoi perfezionare stili di carattere, colori e opacità per adattarli al tuo brand. Ricorda di ottenere una licenza di produzione; i dettagli dei prezzi sono disponibili nella pagina del prodotto, e una licenza temporanea può essere ottenuta per i test tramite la temporary license page. Buona programmazione!
Domande frequenti
Come aggiungere una sovrapposizione di testo a un GIF usando REST in Java quando il testo cambia per utente?
Crea l’oggettoTextWatermarkOptionsa runtime con la stringa specifica per l’utente, quindi invoca la stessa chiamataaddWatermark. L’API elabora ogni richiesta in modo indipendente, quindi il contenuto dinamico è completamente supportato.Posso aggiungere sottotitoli a una GIF animata senza influire sulla velocità di animazione?
Sì. Il watermark viene applicato a ogni fotogramma preservando il ritardo originale del fotogramma. Basta impostarepageRangesu"1-"in modo che ogni fotogramma riceva la stessa sovrapposizione.Quali formati sono supportati per il colore del testo di sovrapposizione?
L’SDK accetta codici colore HEX (ad esempio#FF0000) e i nomi colore standard HTML. Vedi il riferimento API per l’elenco completo.Ho bisogno di una licenza per sviluppo e test?
Una licenza temporanea è sufficiente per la valutazione e i test. Per le distribuzioni in produzione, acquista una licenza completa dalla pagina del prodotto e applicala utilizzando l’API di licenza dell’SDK.
