Dodanie wizualnego identyfikatora do plików PDF jest niezbędne do ochrony własności intelektualnej i brandingu dokumentów. GroupDocs.Watermark Cloud SDK for Java oferuje prosty interfejs API umożliwiający osadzanie znaków wodnych w postaci obrazu bezpośrednio w plikach PDF z poziomu aplikacji Java. W tym samouczku dowiesz się, jak dodać znak wodny obrazu do dokumentów PDF w Javie, zobaczysz kompletny działający przykład oraz poznasz równoważne wywołania cURL REST dla integracji w chmurze.
Dodaj znak wodny obrazu do dokumentów PDF w Javie w 5 krokach
- Zainicjuj klienta API: Utwórz instancję
ApiClientz identyfikatorem klienta i sekretem.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);
Ten krok łączy Twój kod Java z usługą GroupDocs.Watermark Cloud. Zobacz odniesienie API po więcej szczegółów.
- Określ plik PDF źródłowy: Utwórz obiekt
FileInfo, który wskazuje na PDF, który chcesz oznaczyć znakiem wodnym.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");
Plik musi zostać przesłany do Twojego magazynu GroupDocs przed żądaniem.
- Skonfiguruj znak wodny obrazu: Zdefiniuj ścieżkę obrazu, krycie, współczynnik skali, obrót i wyrównanie.
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));
Dostosuj te wartości, aby uzyskać pożądany wygląd; krycie kontroluje przejrzystość, natomiast współczynnik skali określa rozmiar względem strony.
- Ustaw opcje znaku wodnego i ścieżkę wyjściową: Połącz informacje o pliku i znak wodny w obiekt
WatermarkOptions.
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
options.setImageWatermark(imageWatermark);
options.setOutputPath("output.pdf");
outputPath informuje usługę, gdzie ma przechowywać wynikowy plik PDF.
- Wykonaj żądanie: Utwórz
AddWatermarkRequesti wywołaj API. Obsłuż odpowiedzi sukcesu lub błędu.
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());
}
Po wykonaniu żądania plik PDF z dodanym znakiem wodnym jest dostępny w określonej lokalizacji.
Kompletny przykład kodu: Dodaj znak wodny obrazu do dokumentów PDF w Javie
Poniższy przykład demonstruje pełną implementację, od inicjalizacji klienta po zapisanie PDF z znakiem wodnym.
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();
}
}
}
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś ścieżki do plików (
input.pdf,watermark.png,output.pdf), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku programistycznym. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Zastosuj znak wodny obrazu w dokumentach PDF za pomocą cURL i REST API
Poniżej znajdują się wywołania REST, których możesz użyć z cURL, aby uzyskać ten sam wynik bez pisania kodu w języku Java.
- Uzyskaj token dostępu
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"}'
Odpowiedź zawiera access_token używany w kolejnych wywołaniach.
Prześlij źródłowy PDF
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"Prześlij obraz znaku wodnego
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"Dodaj znak wodny obrazu
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"
}'
To żądanie odzwierciedla logikę kodu Java, stosując te same ustawienia przezroczystości, skalowania i wyrównania.
- Pobierz PDF z znakiem wodnym
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Aby uzyskać więcej informacji o ciałach żądań i obsługiwanych parametrach, zobacz oficjalną dokumentację API.
Instalowanie i konfigurowanie GroupDocs.Watermark Cloud SDK for Java
Dodaj zależność Maven do swojego pom.xml (lub równoważny fragment Gradle). Biblioteka jest hostowana w Maven Central.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
Potrzebujesz także ważnego konta GroupDocs Cloud. Pobierz swój Client ID i Client Secret z portalu GroupDocs. Nie jest wymagana dodatkowa instalacja środowiska uruchomieniowego, ponieważ SDK komunikuje się z usługą w chmurze.
Dostosowywanie opcji znaku wodnego obrazu dla dokumentów PDF
SDK udostępnia kilka właściwości, które pozwalają kontrolować wygląd wizualny znaku wodnego.
Dostosuj przezroczystość
imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark
Wartości nieprzezroczystości mieszczą się w przedziale od 0.0 (całkowicie przezroczyste) do 1.0 (całkowicie nieprzezroczyste).
Zmień współczynnik skali
imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width
Współczynnik skalowania określa rozmiar znaku wodnego względem wymiarów strony.
Ustaw wyrównanie i marginesy
imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));
Te ustawienia umieszczają znak wodny w prawym dolnym rogu z marginesem 20 punktów.
Aby uzyskać pełną listę konfigurowalnych właściwości, odwołaj się do referencji API.
Podsumowanie
Dodanie znaku wodnego w postaci obrazu do dokumentów PDF w Javie jest prostym zadaniem, gdy używasz GroupDocs.Watermark Cloud SDK for Java. SDK obsługuje wszystkie niskopoziomowe operacje na PDF, pozwalając skupić się na aspektach wizualnych, takich jak przezroczystość, skalowanie i pozycjonowanie. Niezależnie od tego, czy wolisz natywną implementację w Javie, czy chmurę opartą na cURL, te same wysokiej jakości wyniki są osiągalne bez utraty wydajności. Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; szczegóły cenowe są dostępne na stronie produktu, a strona tymczasowej licencji może być użyta do oceny.
Najczęściej zadawane pytania
Jak dodać znak wodny obrazu do PDF w Javie bez utraty jakości?
Użyj właściwościscaleFactor, aby dopasować rozmiar znaku wodnego względem strony i zachować oryginalną rozdzielczość DPI źródłowego PDF. SDK zachowuje rozdzielczość PDF, więc znak wodny pozostaje wyraźny przy każdym poziomie powiększenia.Czy mogę dodać wiele znaków wodnych do tego samego PDF?
Tak. Utwórz osobne obiektyImageWatermarkz różnymi konfiguracjami i dodawaj je kolejno, wywołującaddWatermarkwielokrotnie lub dodając je do listy w żądaniu.Jakie formaty obrazów są obsługiwane dla znaku wodnego?
API akceptuje powszechne typy obrazów, takie jak PNG, JPG, BMP, GIF oraz TIFF. PNG jest zalecany ze względu na bezstratną jakość i obsługę przezroczystości.Czy istnieje sposób, aby podglądnąć znak wodny przed jego zastosowaniem?
Możesz użyć GroupDocs.Watermark Cloud SDK for Java, aby wygenerować tymczasowy plik PDF ze znakiem wodnym i pobrać go do przeglądu. To używa tego samego wywołaniaaddWatermarkz ścieżką wyjściową wskazującą tymczasową lokalizację.
