Eğer Java’da PDF dosyasına Watermark eklemeniz gerekiyorsa, görsel bir örtü belgelerinizi yetkisiz kullanımdan koruyabilir. Conholdate.Total for Java sunucu tarafında PDF manipülasyonunu basitleştiren güçlü bir SDK sağlar. Bu rehberde tam, çalıştırmaya hazır bir örnek görecek, her satırın nasıl çalıştığını öğrenecek, Maven bağımlılığını kuracak ve profesyonel sonuçlar için opaklık, dönüş ve hizalamayı ince ayarlama seçeneklerini keşfedeceksiniz.
Tam Kod Örneği: Java’da PDF’ye Metin Filigranı Ekleme
Aşağıdaki örnek, Conholdate.Total for Java kullanarak bir PDF’ye metin filigranı eklemeyi göstermektedir.
import com.groupdocs.watermark.Watermark;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfSaveOptions;
import com.groupdocs.watermark.watermarks.TextWatermark;
import com.groupdocs.watermark.watermarks.HorizontalAlignment;
import com.groupdocs.watermark.watermarks.VerticalAlignment;
import java.awt.Color;
import java.awt.Font;
public class AddPdfWatermark {
public static void main(String[] args) {
String inputFile = "input.pdf";
String outputFile = "output.pdf";
// Create a text watermark
Font font = new Font("Arial", Font.BOLD, 48);
TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
textWatermark.setColor(Color.RED);
textWatermark.setOpacity(0.3);
textWatermark.setRotationAngle(45);
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Center);
// Load options for the source PDF (enable caching for large files)
PdfLoadOptions loadOptions = new PdfLoadOptions(inputFile);
loadOptions.setCacheSize(100 * 1024 * 1024); // 100 MB cache
// Initialize the Watermark processor
Watermark watermark = new Watermark();
try {
// Apply the watermark to every page of the PDF
watermark.add(textWatermark, loadOptions);
// Save the watermarked PDF
PdfSaveOptions saveOptions = new PdfSaveOptions();
watermark.save(outputFile, saveOptions);
} catch (Exception e) {
System.err.println("Failed to add watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını (
input.pdf,output.pdfvb.) gerçek dosya konumlarınıza göre güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.
Java Kodunda PDF’ye Filigran Ekleme İşlemini Anlamak
Java’da PDF’ye Filigran Ekleme kodu, herhangi bir PDF belgesi için uyarlayabileceğiniz net bir sıralamayı izler.
- Watermark İşlemcisini Başlatın -
Watermark watermark = new Watermark();su işaretlerini uygulayacak motoru oluşturur. - Bir TextWatermark Oluşturun -
TextWatermarknesnesi metni, yazı tipini, rengi, opaklığı ve dönüşü tutar.Font font = new Font("Arial", Font.BOLD, 48); TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font); - Görünümü Yapılandırın -
setColor,setOpacityvesetRotationAnglegibi yöntemler su işaretinin sayfada nasıl göründüğünü tanımlar. - Kaynak PDF’yi Yükleyin -
PdfLoadOptionsgiriş dosyasını yükler ve büyük belgeler için önbellekleme sağlar, bu da bellek baskısını azaltır. - Uygula ve Kaydet -
watermark.add(textWatermark, loadOptions);su işaretini her sayfaya uygular vewatermark.save(outputFile, saveOptions);sonucu yazar.
Kaynak PDF’yi Önbellekleme ile Yükleme
Çok megabaytlık PDF’lerle çalışırken, önbellek etkinleştirmek SDK’nın tüm belgeyi belleğe yüklemesini önler. loadOptions.setCacheSize(100 * 1024 * 1024); satırı geçici depolama için 100 MB ayırır ve işlemcinin gerektiğinde sayfaları akış olarak işlemesine olanak tanır. Bu yaklaşım, aynı anda birçok filigranlama işinin çalışabileceği sunucu ortamlarında özellikle faydalıdır.
Ayrıntılı API bilgileri için, Java API referansı sayfasına bakın.
PDF Filigranlama için Ortamı Hazırlama
Java’da PDF’ye Watermark ekleme iş akışı, Maven bağımlılığını eklemekle başlar. Ardından, uyumlu bir JDK ve az miktarda yapılandırma gerekir.
Önkoşullar ve Java Sürümü
- Java 8 veya üzeri gereklidir; SDK modern dil özelliklerini ve akışları kullanır.
- Maven 3.5+, bağımlılık yönetimini basitleştirir.
- Projenizin
pom.xmldosyasının Maven’in artefaktı çözebilmesi için Conholdate deposunu içerdiğinden emin olun.
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
JAR dosyalarını doğrudan indirme sayfasından da alabilirsiniz. Bağımlılığı ekledikten sonra, SDK’nın sınıf yolunuzda olduğunu doğrulamak için mvn clean install komutunu çalıştırın.
REST API’yi Kullanma (Opsiyonel)
Dil bağımsız bir yaklaşımı tercih ediyorsanız, Conholdate.Total ayrıca herhangi bir Java kodu kullanmadan filigran ekleyebilen bir REST uç noktası sunar. Basit bir curl komutu şu şekildedir:
curl -X POST "https://api.conholdate.com/v1/pdf/watermark" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.pdf" \
-F "text=CONFIDENTIAL" \
-F "font=Arial" \
-F "fontSize=48" \
-F "color=FF0000" \
-F "opacity=0.3" \
-F "angle=45" \
-F "horizontalAlignment=center" \
-F "verticalAlignment=center" \
-o output.pdf
REST sürümü, aynı mantıksal adımları (yükleme, yapılandırma, uygulama ve kaydetme) izler, böylece mimarinize en uygun yaklaşımı seçebilirsiniz.
Filigran Görünümü ve Konumunu Yapılandırma
SDK, filigranı ince‑ayarlamanıza olanak tanıyan çeşitli özellikler sunar. Aşağıda en sık ayarlanan ayarlar yer almaktadır.
Yazı Tipi ve Renk Özelleştirme
Varsayılan Arial yazı tipini sunucuda mevcut olan herhangi bir TrueType yazı tipiyle değiştirebilirsiniz. Rengi değiştirmek, farklı bir java.awt.Color sabiti geçmek ya da özel bir RGB değeri oluşturmak kadar basittir.
Font customFont = new Font("Times New Roman", Font.ITALIC, 36);
textWatermark.setColor(new Color(0, 102, 204)); // Deep blue
textWatermark.setFont(customFont);
Opaklık ve Rotasyonu Ayarlama
Saydamlık, filigranın ne kadar şeffaf göründüğünü kontrol eder. Değerler 0.0 (tamamen görünmez) ile 1.0 (tamamen opak) arasında değişir. Dönme, metni eğmenizi sağlar ve böylece kaldırılması daha zor olur.
textWatermark.setOpacity(0.45); // 45% opacity
textWatermark.setRotationAngle(30); // 30 degrees clockwise
Sayfadaki Filigranı Hizalama
Yatay ve dikey hizalama özellikleri Left, Center, Right ve Top, Center, Bottom değerlerini kabul eder. Ortalamak, gizli damgalar için yaygındır, ancak marka amaçları için filigranı bir köşeye yerleştirebilirsiniz.
textWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);
Eğer Java’da PDF’ye metin filigranı eklemek istiyorsanız ve her sayfada farklı bir düzen istiyorsanız, sayfaları tek tek işleyen bir döngü içinde bu özellikleri değiştirebilirsiniz. SDK ayrıca görüntü filigranlarını, degrade doldurmaları ve çok satırlı metni de destekler; kullanım durumunuz daha fazla görsel karmaşıklık gerektiriyorsa.
Sonuç
Java’da PDF’ye filigran eklemek, Conholdate.Total for Java ile oldukça basittir. SDK, PDF’leri yükleme, işleme ve kaydetme işlemlerini verimli bir şekilde yönetir; yerleşik önbellekleme sayesinde büyük dosyalar için bile etkilidir. Opaklık, dönüş, yazı tipi, renk ve hizalamayı özelleştirerek yetkisiz dağıtımı önleyen profesyonel görünümlü filigranlar oluşturabilirsiniz. Üretim kullanımı için uygun bir lisans almayı unutmayın; geçici bir lisans talep edebilir ve geçici lisans sayfasından alabilirsiniz veya fiyatlandırma sayfasında fiyat seçeneklerini inceleyebilirsiniz. Kod ve yapılandırma adımları tamamlandığında, PDF filigranlamayı Java uygulamalarınıza entegre etmeye hazırsınız.
SSS
Java’da düşük seviyeli PDF kodu yazmadan PDF’ye Watermark nasıl ekleyebilirim?Watermark sınıfını Conholdate.Total for Java üzerinden kullanın. Bu sınıf PDF yapısını soyutlayarak, metin, yazı tipi ve konum gibi watermark özelliklerine odaklanmanıza olanak tanır.
Metin filigranını biçimlendirmek için hangi seçenekler mevcuttur?
Yazı tipini (new Font(...)), boyutu, stili (kalın, italik), rengi (setColor), opaklığı (setOpacity), dönüşü (setRotationAngle) ve hizalamayı (setHorizontalAlignment, setVerticalAlignment) ayarlayabilirsiniz. Bu seçenekler tam kod örneğinde gösterilmiştir.
SDK büyük PDF’leri verimli bir şekilde işleyebilir mi?
Evet. PdfLoadOptions.setCacheSize yapılandırılarak akış ve önbellekleme etkinleştirilir, bu da çok megabaytlık PDF’lerde bellek tüketimini azaltır. Bu, Java’da PDF’ye Watermark ekleme iş akışını sunucularda toplu işleme uygun hale getirir.
Bu örneği çalıştırmak için lisans satın almam gerekiyor mu?
Üretim dağıtımları için bir lisans gereklidir. Geçici bir lisansı geçici lisans sayfasından edinebilir veya tam fiyatlandırma detaylarını fiyatlandırma sayfasında inceleyebilirsiniz.
