GroupDocs.Watermark for Java ile PDF’ye watermark ekleme

Giriş

Günümüz dijital ortamında, fikri mülkiyetin korunması çok önemlidir ve PDF’ye watermark ekleme bunu yapmanın en etkili yollarından biridir. Bu öğretici, GroupDocs.Watermark for Java kullanarak PDF dosyalarına hem metin hem de görüntü watermark’ları eklemeyi adım adım gösterir. Sonunda şunları yapabilecek duruma geleceksiniz:

  • Metin ve görüntü watermark’larını başlatın
  • Görüntü boyutlarına göre koşullu olarak watermark uygulayın
  • PDF’yi watermark ile kaydedin orijinal kaliteyi koruyarak

Belgelerinizi güvence altına almaya hazır mısınız? Hadi başlayalım!

Hızlı cevaplar

  • Java’da PDF’lere watermark ekleyen kütüphane hangisidir? GroupDocs.Watermark for Java.
  • Hem metin hem de görüntü watermark’ları ekleyebilir miyim? Evet, API tek bir çalıştırmada her iki türü de destekler.
  • Geliştirme için bir lisansa ihtiyacım var mı? Test için ücretsiz deneme sürümü çalışır; üretim için kalıcı bir lisans gereklidir.
  • Hangi dosya formatları destekleniyor? PDF, DOCX, PPTX ve görüntüler dahil olmak üzere 30’dan fazla format desteklenir.
  • Ne kadar büyük bir PDF işlenebilir? Tüm dosyayı belleğe yüklemeden 2.000 sayfaya kadar işlenebilir.

PDF’ye watermark ekleme nedir?

PDF’ye watermark ekleme, sahiplik, gizlilik veya marka göstermek amacıyla bir PDF dosyasına doğrudan metin dizileri veya logolar gibi görünür veya görünmez işaretler eklemek anlamına gelir. Bu süreç, orijinal içeriği bozmadan belgenin görsel katmanlarını değiştirir.

Neden GroupDocs.Watermark for Java kullanmalı?

GroupDocs.Watermark 30’dan fazla belge formatını destekler, tek bir geçişte 2.000 sayfaya kadar PDF işleyebilir ve belge başına 500 watermark ekleyebilir, performans düşüşü olmadan. API’si tamamen thread‑safe olduğundan yüksek verimli sunucu ortamları için idealdir.

Önkoşullar

Devam etmeden önce şunların kurulu olduğundan emin olun:

  1. Java Development Kit (JDK): 8 veya daha yeni bir sürüm yüklü.
  2. GroupDocs.Watermark for Java: Projenize eklenmiş 24.11 (veya daha yeni) sürüm.
  3. Build tool: Maven tercih edilir, ancak doğrudan JAR indirmek de çalışır.

Ortam kurulumu

Maven yapılandırması

Add the GroupDocs repository and dependency to your pom.xml file:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/watermark/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-watermark</artifactId>
      <version>24.11</version>
   </dependency>
</dependencies>

Doğrudan indirme

Alternatif olarak, resmi sürüm sayfasından en son JAR’ı indirin: GroupDocs.Watermark for Java releases.

Lisans edinme

Ücretsiz deneme veya geçici bir lisans için lisans portalını ziyaret edin: GroupDocs Licensing. Üretim dağıtımları, tüm deneme sınırlamalarını kaldırmak için satın alınmış bir lisans kullanmalıdır.

GroupDocs.Watermark for Java Kurulumu

After adding the library, import the required classes into your Java source file:

import com.groupdocs.watermark.Watermarker;

Bu import bloğu, watermark ile ilgili API’leri projenizin her yerinde kullanılabilir hale getirir.

Uygulama rehberi

Uygulamayı mantıksal bölümlere ayıracağız, her biri belirli bir soruya yanıt verir.

Java’da PDF’ye watermark nasıl eklenir?

Watermarker, bir belgeyi yükleyen ve watermark’ların uygulanmasını sağlayan ana sınıftır.
PDF’nizi new Watermarker("input.pdf") ile yükleyin ve ardından save("output.pdf") çağırmadan önce bir watermark nesnesi uygulayın. Bu iki adımlı yaklaşım, hem metin hem de görüntü watermark’larını tek bir geçişte işler ve dosyanın PDF’yi watermark ile kaydedilmesini verimli bir şekilde sağlar.

Metin watermark’ını başlatma

Tanım referansı: TextWatermark, bir belge içinde sayfalara, görüntülere veya vektör grafiklere yerleştirilebilen metinsel bir kaplamayı temsil eden sınıftır.

Adım 1: TextWatermark örneği oluşturma

Create a TextWatermark using the desired text and font settings:

// Create a text watermark with custom settings
TextWatermark textWatermark = new TextWatermark("Protected image", new Font("Arial", 8));

Bu örnek, Arial fontu, 8 boyutunda “Protected image” metniyle watermark’ı ayarlar.

Adım 2: Hizalamayı ayarla

Center the watermark horizontally and vertically for uniform positioning:

// Align watermark to the center of images
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Center);

Adım 3: Watermark’ı döndür

Apply a 45‑degree rotation to make the watermark harder to remove:

// Rotate the watermark by 45 degrees
textWatermark.setRotateAngle(45);

Adım 4: Boyutlandırmayı yapılandır

Scale the watermark relative to the target image dimensions:

// Scale watermark based on parent image size
textWatermark.setSizingType(SizingType.ScaleToParentDimensions);
textWatermark.setScaleFactor(1);

Görüntü watermark’ını başlatma

Tanım referansı: ImageWatermark, belge içeriği üzerine watermark olarak yerleştirilecek bir görüntüyü (PNG, JPEG, BMP vb.) kapsüller.

Adım 1: Görüntü dosyasını yükle

Load the watermark image from disk:

// Load an image file as a watermark
ImageWatermark imageWatermark = new ImageWatermark("YOUR_DOCUMENT_DIRECTORY\ProtectJpg");

Yer tutucu yolu, logo veya mühürünüzün gerçek konumu ile değiştirin.

Adım 2: Hizalamayı ayarla

Center the image watermark for balanced visual impact:

// Align image watermark to the center
imageWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
imageWatermark.setVerticalAlignment(VerticalAlignment.Center);

Adım 3: Görüntü watermark’ını döndür

Apply a –30‑degree rotation to introduce visual variation:

// Rotate the image watermark by -45 degrees
textWatermark.setRotateAngle(-45);

Adım 4: Boyutlandırmayı yapılandır

Define the image size as a percentage of the underlying image’s width:

// Scale the image watermark relative to its parent dimensions
imageWatermark.setSizingType(SizingType.ScaleToParentDimensions);
imageWatermark.setScaleFactor(1);

Belgedeki görüntülere watermark ekleme

Tanım referansı: Watermarker, bir belgeyi yükleyen, öğelerine erişim sağlayan ve watermark’ları dosyaya geri yazan temel sınıftır.

Adım 1: Belgeyi aç

Instantiate a Watermarker with the path to your source PDF:

// Open the PDF containing images for watermarking
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY\document.pdf");

Adım 2: Görüntüleri al

Collect all images from the PDF that can receive a watermark:

// Get a collection of all images within the PDF
WatermarkableImageCollection images = watermarker.getImages();

Adım 3: Watermark’ları koşullu olarak ekle

For each image, check its dimensions; if the width exceeds 300 px, apply the text watermark, otherwise use the image watermark:

for (int i = 0; i < images.getCount(); i++) {
    // Check if the image exceeds specific size criteria
    if (images.get_Item(i).getWidth() > 100 && images.get_Item(i).getHeight() > 100) {
        // Alternate between text and image watermarks
        if (i % 2 == 0) {
            images.get_Item(i).add(textWatermark);
        } else {
            images.get_Item(i).add(imageWatermark);
        }
    }
}

Bu koşullu mantık, yalnızca uygun görüntülerin daha belirgin metin kaplamasını almasını sağlar ve işlem süresini optimize eder.

Adım 4: Görüntü kaynaklarını serbest bırak

After processing, close the image watermark object to free native resources:

// Close the image watermark instance after use
imageWatermark.close();

Adım 5: Değişiklikleri kaydet

Persist the modifications by saving the document to a new file:

// Save the PDF with added watermarks in a new file
watermarker.save("YOUR_OUTPUT_DIRECTORY\document.pdf");

Ortaya çıkan dosya, dağıtıma hazır watermark ile kaydedilmiş PDF sürümüdür.

Adım 6: Temizle

Dispose of the Watermarker instance to prevent memory leaks:

// Close the main watermarker to release document resources
watermarker.close();

Yaygın sorunlar ve hata ayıklama

  • Lisans hataları: License.setLicense("license_file_path") ile lisans dosyası yolunun doğru ayarlandığından emin olun. Eksik veya süresi dolmuş bir lisans LicenseException hatası oluşturur.
  • Büyük PDF’ler: 1.000 sayfadan büyük belgeler için, bellek tüketimini düşük tutmak amacıyla watermarker.setStreamMode(true) çağrısı ile streaming modunu etkinleştirin.
  • Desteklenmeyen görüntü formatları: GroupDocs.Watermark PNG, JPEG, BMP ve GIF formatlarını destekler. Diğer formatları yüklemeden önce PNG’ye dönüştürmek UnsupportedFormatException hatasından kaçınır.

Sıkça Sorulan Sorular

S: Şifre korumalı bir PDF’ye watermark ekleyebilir miyim?
C: Evet. Belgeyi new Watermarker("file.pdf", "password") ile açın ve ardından watermark’ı normal şekilde uygulayın.

S: API birden fazla PDF’in toplu işlenmesini destekliyor mu?
C: Kesinlikle. PDF’lerin bulunduğu bir klasörü döngüye alın, her dosya için bir Watermarker örneği oluşturun, aynı watermark nesnelerini uygulayın ve sonuçları kaydedin.

S: Tek bir PDF’e ekleyebileceğim maksimum watermark sayısı nedir?
C: Kütüphane, optimize edilmiş render motoru sayesinde belge başına 500+ watermark performans düşüşü olmadan işleyebilir.

S: Watermark’ı görünmez (sadece meta veri) yapmak mümkün mü?
C: Evet. Watermark nesnesinde setOpacity(0) metodunu kullanarak onu adli izleme için görünmez şekilde gömebilirsiniz.

S: Hangi Java sürümleri resmi olarak destekleniyor?
C: GroupDocs.Watermark for Java, JDK 8, 11 ve 17’yi destekleyerek hem eski hem de modern uygulamalarla uyumluluğu sağlar.

Pratik uygulamalar

Watermark eklemek çeşitli gerçek dünya senaryolarına hizmet edebilir:

  1. Belge güvenliği: Yetkisiz paylaşımı önlemek için gizli dosyaları işaretleyin.
  2. Marka koruması: Pazarlama PDF’lerine şirket logolarını yerleştirin.
  3. Telif hakkı beyanı: Yayınlanmış eserlerde yazar adlarını veya telif hakkı sembollerini gömün.
  4. Sürüm kontrolü: Taslak belgelere sürüm numaraları veya tarih damgaları ekleyin.

Sonuç

Bu java pdf watermark örneğini izleyerek, GroupDocs.Watermark for Java kullanarak PDF’ye watermark ekleme için eksiksiz, üretim‑hazır bir çözüm elde ettiniz. Metin, görüntü, döndürme ve boyutlandırmayı özelleştirebilir, ayrıca görüntü boyutlarına göre koşullu olarak watermark uygulayabilirsiniz—tüm bunlar süreci hızlı ve bellek‑verimli tutar.


Son Güncelleme: 2026-08-09
Test Edilen: GroupDocs.Watermark 24.11 for Java
Yazar: GroupDocs

İlgili Öğreticiler