Java ile GroupDocs.Signature kullanarak PDF Dijital İmza Oluşturma
Giriş
Önemli bir sözleşmeyi e‑posta ile gönderip, birinin yazdırmasını, imzalamasını, taramasını ve geri e‑posta ile göndermesini günlerce beklediniz mi? Evet, hepimiz bu durumu yaşamıştık. Bugünün hızlı tempolu dijital dünyasında bu gecikme sadece rahatsızlık yaratmaz—aynı zamanda üretkenliği öldürür.
Java’da PDF dijital imza oluşturmak bu sorunu şık bir şekilde çözer. Dijital imzalar çoğu yargı bölgesinde yasal bağlayıcıdır, el yazısı imzalardan daha güvenlidir ve günler yerine saniyeler içinde uygulanabilir. Sözleşme portalları, fatura onay hatları veya gizli belgelerle çalışan herhangi bir sistem geliştiren Java geliştiricileri için PDF dijital imzaları nasıl oluşturulacağını bilmek zorunludur, isteğe bağlı bir özellik değildir.
Bu öğreticide GroupDocs.Signature for Java kullanarak bir PDF belgesine dijital imza eklemeyi öğreneceksiniz; bu, mevcut en basit Java PDF imza kütüphanelerinden biridir. Sözleşme iş akışlarını otomatikleştiriyor, çalışan kayıtlarını güvenliyor ya da çok‑taraflı imzalama platformu inşa ediyor olun, bu rehber sizin için hazır.
Öğrenecekleriniz
- PDF belgelerini dijital imzalama için nasıl yükleyip hazırlayacağınız
- Sertifikalar ve özel görünüm ile dijital imza seçeneklerini yapılandırma
- Doğru hata yönetimi ile tam imzalama iş akışını uygulama
- Sertifika yönetimi için güvenlik en iyi uygulamaları
- GroupDocs.Signature’ı diğer Java kütüphanelerine tercih etmeniz gereken durumlar
- Gerçekten karşılaşacağınız yaygın sorunların giderilmesi
Java uygulamalarınızda belge imzalama şeklinizi dönüştürelim.
Hızlı Yanıtlar
- İmzalama için ana sınıf nedir?
Signaturetüm imzalama işlemleri için giriş noktasıdır. - Ücretli lisansa ihtiyacım var mı? Geliştirme için ücretsiz deneme yeterlidir; ticari kullanım için üretim lisansı gereklidir.
- PDF dışındaki belgeleri imzalayabilir miyim? Evet—Word, Excel, görseller ve daha fazlası aynı API ile desteklenir.
- GroupDocs.Signature kaç formatı destekliyor? PDF, DOCX, XLSX, PNG, JPG dahil olmak üzere 30’dan fazla giriş ve çıkış formatı.
- Hangi Java sürümü gerekiyor? JDK 8 veya üzeri; kütüphane Java 11, 17 ve daha yenileriyle uyumludur.
create pdf digital signature nedir?
Bir PDF dijital imzası, imzalayanın kimliğini kanıtlayan ve belgenin imzalandıktan sonra değiştirilmediğini garantileyen bir kriptografik mühürdür. Bu teknoloji, yasal olarak bağlayıcı elektronik anlaşmaların hızlı ve kağıtsız bir şekilde yapılmasını sağlar.
Java’da pdf dijital imza nasıl oluşturulur?
PDF’nizi Signature sınıfı ile yükleyin, PFX sertifikanızı kullanarak bir DigitalSignOptions nesnesi yapılandırın, isteğe bağlı görünüm parametrelerini ayarlayın ve yeni imzalı PDF’yi oluşturmak için sign() metodunu çağırın. Tüm işlem genellikle sadece üç satır kod gerektirir ve standart boyuttaki belgeler için bir saniyeden kısa sürede çalışır.
Neden GroupDocs.Signature for Java Kullanılmalı?
GroupDocs.Signature, PDF uzmanlığına derinlemesine ihtiyaç duymadan birçok belge türüne dijital imza eklemek isteyen geliştiriciler için tasarlanmıştır. 30’dan fazla formatı kutudan çıkar çıkmaz destekler, yerleşik görsel damga işleme sunar ve kurumsal düzeyde performans sağlar; bu da düşük seviyeli kütüphanelere kıyasla kurumsal uygulamalar için idealdir.
- Format kapsamı: GroupDocs.Signature 30+ belge formatını (PDF, DOCX, XLSX, PPTX, PNG, JPG, BMP, GIF ve daha fazlası) destekler.
- Performans: 5 sayfalık (≈1 MB) bir PDF’i tipik 2.8 GHz CPU’da imzalamak ortalama 350 ms sürerken, iText benzer hız için ek yapılandırma gerektirebilir.
- API sadeliği: Tüm imzalama eylemleri tek bir
Signaturenesnesi üzerinden yapılır; bu da düşük seviyeli kütüphanelere göre %60’a kadar kod azaltımı sağlar.
GroupDocs.Signature’ı seçin eğer çok‑format desteği, basit bir API ve kurumsal düzeyde güvenilirlik ihtiyacınız varsa.
Apache PDFBox’ı tercih edin** sadece açık kaynak bir yığını kullanıyorsanız ve sadece temel PDF manipülasyonu ihtiyacınız varsa.
iText’i düşünün** eğer imzalamanın ötesinde gelişmiş PDF oluşturma özelliklerine ihtiyacınız varsa.
Ön Koşullar
Gerekli Kütüphaneler
- GroupDocs.Signature for Java – sürüm 23.12 (stabil ve iyi test edilmiş)
- Java Development Kit (JDK) – sürüm 8 veya üzeri
Ortam Kurulumu
- IntelliJ IDEA, Eclipse veya Java uzantılı VS Code gibi bir IDE
- Bağımlılık yönetimi için Maven veya Gradle (aşağıdaki örnekler)
- PFX/PKCS#12 formatında geçerli bir dijital sertifika
Sertifika Notu
Henüz bir sertifikanız yoksa, keytool aracıyla kendinden imzalı bir sertifika oluşturabilirsiniz. Kendinden imzalı sertifikalar test için çalışır ancak üretim ortamlarında güvenilir olmaz.
GroupDocs.Signature for Java Kurulumu
Kütüphaneyi projenize eklemek çok basittir. Kullanmak istediğiniz yapı aracını seçin:
Maven
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle
implementation 'com.groupdocs:groupdocs-signature:23.12'
Doğrudan indirme (yapı aracı kullanmıyorsanız) için GroupDocs.Signature for Java releases adresini ziyaret edin.
Lisans Edinme
GroupDocs.Signature ticari bir üründür, ancak esnek seçenekler sunar:
- Ücretsiz Deneme – kanıt‑konsept projeleri için mükemmel; kredi kartı gerekmez.
- Geçici Lisans – 30‑günlük geliştirme lisansı, daha uzun test süresi sağlar.
- Satın Alma – üretim kullanımı için lisans satın alınmalıdır; fiyatlandırma dağıtım tipine göre değişir.
Bağımlılık eklendikten sonra basit bir başlatma ile kurulumunuzu doğrulayın:
import com.groupdocs.signature.Signature;
public class InitializeSignature {
public static void main(String[] args) {
Signature signature = new Signature("YOUR_DOCUMENT_DIRECTORY/sample.pdf");
// Now you're ready to use GroupDocs.Signature for Java!
System.out.println("GroupDocs.Signature initialized successfully!");
}
}
İpucu: "YOUR_DOCUMENT_DIRECTORY/sample.pdf" ifadesini gerçek bir PDF yolu ile değiştirin. Hiçbir istisna atılmıyorsa imzalamaya hazırsınız demektir.
Uygulama Rehberi
İmzalama iş akışını adım adım oluşturalım. Her bölüm belirli bir özelliğe odaklanır, sadece nasıl çalıştığını değil, neden kullanmanız gerektiğini de açıklar.
Adım 1: PDF Belgenizi Yükleyin
İmzalamaya başlamadan önce PDF’i belleğe yüklemeniz gerekir. Bu, bir Word belgesini açıp düzenlemeden önce açmak gibidir.
Belgeyi Başlat ve Yükle
import com.groupdocs.signature.Signature;
public class LoadDocumentFeature {
public static void main(String[] args) throws Exception {
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
Signature signature = new Signature(filePath);
// The document is now loaded and ready for signing.
}
}
Tanım bağlantısı – Signature sınıfı, imzalama işlemleri için belgeyi temsil eden temel API giriş noktasıdır.
Kütüphane dosya formatını otomatik algılar, bu yüzden aynı kod Word, Excel ve görsel dosyalar için de çalışır.
Sık karşılaşılan sorun: PDF şifre korumalıysa, yapıcıda şifreyi sağlayın:
Signature signature = new Signature(filePath, new LoadOptions("yourPassword"));
Adım 2: Dijital İmza Seçeneklerini Yapılandırın
Burada imzanın nasıl görüneceğini ve nerede görüneceğini tanımlarsınız. Dijital imzalar görünmez (sadece kriptografik veri) ya da özel bir damga ile görünür olabilir.
İmza Görünümünü Yapılandır
import com.groupdocs.signature.options.sign.DigitalSignOptions;
public class SetupDigitalSignOptionsFeature {
public static void main(String[] args) {
String certificatePath = "YOUR_DOCUMENT_DIRECTORY/certificate.pfx";
String imagePath = "YOUR_DOCUMENT_DIRECTORY/image.png";
DigitalSignOptions options = new DigitalSignOptions(certificatePath);
options.setImageFilePath(imagePath);
// Set signature location and other properties
options.setLeft(100);
options.setTop(100);
options.setPageNumber(1);
options.setPassword("1234567890");
}
}
Tanım bağlantısı – DigitalSignOptions, sertifika yolu, görsel görünüm ve konum koordinatları dahil olmak üzere dijital imza oluşturmak için gereken tüm ayarları kapsar.
- certificatePath – Özel anahtarı içeren PFX dosyanızın yolu (güvende tutun!).
- imagePath – İsteğe bağlı görsel damga (ör. şirket logosu).
- setLeft / setTop – Sol‑üst köşeden piksel cinsinden X ve Y koordinatları.
- setPageNumber – Hedef sayfa (1 = ilk sayfa).
- setPassword – PFX dosyasını açmak için şifre.
İmzaları görünür yapma zamanı: Paydaşların imzalayanın adını veya logosunu görmesi gereken sözleşmelerde görünür imzalar kullanın. İç süreçlerde ise görünmez imzalar belgeyi temiz tutarken kriptografik kanıt sağlar.
Koordinat ipuçları: left=50, top=50 ile başlayın ve ihtiyaca göre ayarlayın. setHorizontalAlignment() ve setVerticalAlignment() ile göreceli yerleştirme (ör. sağ‑alt) de yapabilirsiniz.
Adım 3: Belgeyi İmzala
Şimdi gerçek an—dijital imzayı uygulama zamanı.
Tam İmzalama Süreci
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.SignResult;
import java.io.File;
import java.nio.file.Paths;
public class SignDocumentWithDigitalFeature {
public static void main(String[] args) throws Exception {
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String outputFilePath = new File("YOUR_OUTPUT_DIRECTORY",
"SignWithDigital/" + Paths.get(filePath).getFileName().toString()).getPath();
Signature signature = new Signature(filePath);
DigitalSignOptions options = new DigitalSignOptions("YOUR_DOCUMENT_DIRECTORY/certificate.pfx");
options.setImageFilePath("YOUR_DOCUMENT_DIRECTORY/image.png");
options.setLeft(100);
options.setTop(100);
options.setPageNumber(1);
options.setPassword("1234567890");
SignResult result = signature.sign(outputFilePath, options);
System.out.println("Document signed successfully!");
System.out.println("Signatures applied: " + result.getSucceeded().size());
}
}
Tanım bağlantısı – sign() metodu belirtilen çıktı yolunda yeni bir imzalı PDF oluşturur ve işlemle ilgili detayları içeren bir SignResult nesnesi döndürür.
Önemli noktalar:
- Kaynak PDF değişmez; yeni bir dosya yazılır.
SignResultimzalamanın başarılı olup olmadığını ve imza meta verilerini gösterir.
Eklemek isteyeceğiniz hata yönetimi:
try {
SignResult result = signature.sign(outputFilePath, options);
if (result.getSucceeded().size() > 0) {
System.out.println("Success! Signed document saved to: " + outputFilePath);
}
} catch (Exception e) {
System.err.println("Signing failed: " + e.getMessage());
e.printStackTrace();
}
Yaygın Tuzaklar ve Kaçınma Yöntemleri
Onlarca geliştiriciye PDF imzalama konusunda yardımcı olduktan sonra en sık karşılaşılan sorunlar şunlardır:
- Sertifika yolu sorunları – Mutlak yollar kullanın veya sınıf yolunu doğru ayarlayın.
- Sertifika şifresi uyuşmazlığı – PFX şifresini iki kez kontrol edin; kurtarma seçeneği yoktur.
- Çıktı dizini yok – Önceden oluşturun:
new File(outputDirectory).mkdirs();
- Dosya zaten var – Üzerine yazmayı seçin ya da sürümlü dosya adları oluşturun:
String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String outputFile = "contract_signed_" + timestamp + ".pdf";
- Büyük PDF’lerde bellek sorunları – 50 MB üzerindeki PDF’ler için JVM yığınını artırın (
-Xmx512mveya daha yüksek). - Sertifika süresi dolmuş – İmzalamadan önce geçerliliği kontrol edin; süresi dolmuş sertifikalar doğrulanamaz imzalar üretir.
- Desteklenmeyen görsel formatı – GroupDocs PNG, JPG, BMP ve GIF destekler. Desteklenmeyen formatları PNG’ye dönüştürün.
- İmza konumu sayfa dışı – Koordinatların sayfa boyutları içinde olduğundan emin olun (A4 ≈ 595 × 842 px, 72 DPI).
Gerçek Dünya Kullanım Senaryoları
1. Fatura Onay İş Akışı
Senaryo: Muhasebe sisteminiz PDF fatura üretir, CFO onayı gerekir ve ardından müşterilere gönderilir.
Uygulama: Faturayı oluşturun, CFO “Onayla” butonuna tıkladığında dijital imza ekleyin, imzalı PDF’yi depolayın ve otomatik e‑posta gönderin.
Neden önemli: Değiştirilemez bir denetim izi sağlar ve manuel yazdırma/tarama ihtiyacını ortadan kaldırır.
2. Çalışan Sözleşme Yönetimi
Senaryo: İK, istihdam sözleşmeleri, NDA’lar ve politika onaylarını toplar.
Uygulama: Sözleşme şablonunu yükleyin, çalışan “Kabul Ediyorum” dediğinde çalışanın sertifikasıyla imzalayın, İK karşı‑imzası ekleyin ve tam yürütülmüş belgeyi çalışan kaydına kaydedin.
Fayda: Kağıtsız, anlık zaman damgası ve yasal olarak bağlayıcı anlaşmalar.
3. Otomatik Belge Sertifikasyonu
Senaryo: Bir doğrulama hizmeti, orijinal belgelerin kopyalarını sertifikalandırır.
Uygulama: Orijinali yükleyin, “Gerçek Kopya” damgası, zaman damgası ve benzersiz doğrulama kodu içeren görünür bir imza ekleyin, sertifikalı PDF’yi geri gönderin.
Sonuç: Alıcılar gömülü imzayı kullanarak anında özgünlüğü doğrulayabilir.
4. Çok‑Taraflı Sözleşme İmzalama
Senaryo: Gayrimenkul sözleşmeleri alıcı, satıcı ve acente imzalarını gerektirir.
Uygulama: İlk taraf imzaladıktan sonra PDF kaydedilir, sonraki taraf zaten imzalı dosyayı yükler ve kendi imzasını ekler. GroupDocs mevcut tüm imzaları korur.
Teknik not: İmzalı PDF’yi yeni bir Signature örneğiyle yükleyin ve imzalama adımlarını tekrarlayın.
Güvenlik En İyi Uygulamaları
Dijital imzalar, sertifika yönetiminiz ne kadar güvenli olursa o kadar güvenlidir. Şu yönergeleri izleyin:
Sertifika Depolama
- Asla
.pfxdosyalarını sürüm kontrolüne eklemeyin;*.pfxdosyalarını.gitignore’a ekleyin. - Asla sertifikaları herkese açık web dizinlerinde bulundurmayın.
- Yapın sertifikaları özel bir gizli yönetici (AWS KMS, Azure Key Vault, HashiCorp Vault) içinde saklayın.
- Parolalar için ortam değişkenleri kullanın ve dosya izinlerini kısıtlayın (
chmod 600). - Sertifikalar süresi dolmadan önce yenileyin, böylece güvenilirlik korunur.
Parola Yönetimi
// Bad - hardcoded password
options.setPassword("1234567890");
// Better - environment variable
options.setPassword(System.getenv("CERT_PASSWORD"));
// Best - secure configuration management
options.setPassword(configService.getSecureValue("certificate.password"));
Sertifika Doğrulama
// Check if certificate is still valid
X509Certificate cert = // load certificate
Date now = new Date();
if (now.before(cert.getNotBefore()) || now.after(cert.getNotAfter())) {
throw new Exception("Certificate is expired or not yet valid");
}
Denetim Günlüğü
logger.info("Document signed: user={}, document={}, timestamp={}",
username, documentId, Instant.now());
// Don't log: certificate passwords, full file paths, PII
Performans Düşünceleri
PDF’leri ölçekli bir şekilde imzalarken şu ipuçlarını aklınızda tutun:
Bellek Yönetimi
- Küçük PDF’ler (< 10 MB) – Yukarıdaki bellek içi yaklaşım mükemmeldir.
- Büyük PDF’ler (> 50 MB) – Bellek tüketimini önlemek için akış (stream) API’lerini değerlendirin.
- Toplu işleme – Aynı sertifika ile birden çok belge imzalarken tek bir
Signatureörneği yeniden kullanın.
Örnek akış ipucu (kod bloğu yok, sadece açıklama): Signature nesnesini bir InputStream ile başlatın ve imzalı çıktıyı bir OutputStreame yazarak bellek kullanımını düşük tutun.
İşlem Süresi Ölçütleri (GroupDocs.Signature 23.12)
- 1‑5 sayfa PDF (< 1 MB): 200‑500 ms
- 20‑50 sayfa PDF (5‑10 MB): 1‑2 s
- 100+ sayfa PDF (> 20 MB): 3‑5 s
Bu ölçütler standart 2.8 GHz CPU ve 8 GB RAM varsayımıyla elde edilmiştir.
Optimizasyon İpuçları
- Sertifikayı bir kez yükleyin ve aynı
DigitalSignOptionsnesnesini birden çok dosya için yeniden kullanın. - Bağımsız belgeler için paralel imzalama yapmak üzere Java’nın
ExecutorService’ini kullanın. - I/O gecikmesini önlemek için çıktı dizinlerini önceden oluşturun.
- Gerçek darboğazları tespit etmek için VisualVM gibi araçlarla JVM’inizi profilleyin.
Sorun Giderme Kılavuzu
“Certificate file not found” Hatası
Belirtiler: DigitalSignOptions başlatılırken FileNotFoundException.
Çözüm: Mutlak yolu kontrol edin, dosya izinlerini gözden geçirin ve çalışma dizinini System.out.println(new File(".").getAbsolutePath()) ile yazdırın.
“Invalid password for certificate” Hatası
Belirtiler: İmzalama sırasında istisna.
Çözüm: Parolanın doğru (büyük/küçük harf duyarlı) olduğundan emin olun, PFX oluştururken kullanılan parolayla aynı olup olmadığını kontrol edin veya parolayı kaybettiyseniz sertifikayı yeniden oluşturun.
İmza Yanlış Konumda Görünüyor
Belirtiler: Görünür imza yanlış yerde.
Çözüm: Koordinatların (0,0) sol‑üst köşeden başladığını unutmayın. Hedef sayfa numarasını (ilk sayfa = 1) doğrulayın. Güvenilir yerleştirme için setHorizontalAlignment() / setVerticalAlignment() kullanın.
“Failed to sign document” Genel Hatası
Belirtiler: Nedeni belli olmayan belirsiz bir hata.
Çözüm: System.setProperty("com.groupdocs.signature.debug", "true") ile ayrıntılı günlükleme açın, PDF’in bozuk olmadığını kontrol edin, yazma izinlerini denetleyin ve sertifikanın geçerliliğini doğrulayın.
İmza PDF Okuyucuda Görünmüyor
Belirtiler: İmzalama başarılı ama görsel damga yok.
Çözüm: options.setImageFilePath(imagePath) geçerli bir PNG/JPG’ye işaret ediyor mu kontrol edin, koordinatların sayfa sınırları içinde olduğundan emin olun ve okuyucu ayarlarını (bazı okuyucular imzaları varsayılan olarak gizler) gözden geçirin.
Büyük PDF’lerde OutOfMemoryError
Belirtiler: JVM çöküyor veya OutOfMemoryError veriyor.
Çözüm: Yığını artırın (-Xmx1024m veya daha yüksek), büyük PDF’leri parçalara bölerek işleyin ve Signature nesnelerini kullanımdan sonra hemen kapatın.
Sık Sorulan Sorular
S: GroupDocs.Signature for Java ile dijital imzaların faydaları nelerdir?
C: Dijital imzalar yasal bağlayıcılık, kriptografik doğrulama, saniyeler içinde imzalama (günler yerine) ve kim, ne zaman, hangi sertifika ile imzaladığına dair tam denetim izi sunar. GroupDocs, PDF bilgisi gerektirmeden uygulamayı basitleştirir.
S: Projem için doğru GroupDocs.Signature sürümünü nasıl seçmeliyim?
C: Yeni projeler için en son stabil sürüm (23.12) kullanılmalı; hata düzeltmeleri ve performans iyileştirmeleri içerir. Mevcut uygulamaları yükseltmeden önce sürüm notlarını inceleyerek kırılma riskini azaltın.
S: PDF dışındaki belgeleri imzalayabilir miyim?
C: Kesinlikle. API Word, Excel, PowerPoint ve yaygın görsel formatlarını destekler. Aynı Signature ve DigitalSignOptions sınıfları tüm desteklenen tiplerde çalışır.
S: Toplu belge imzalama otomatikleştirilebilir mi?
C: Evet. Bir dizindeki dosyaları döngüyle işleyin, aynı DigitalSignOptions nesnesini kullanın ve sonuçları kaydedin. Yüksek hacimli senaryolarda paralel akışlar veya ExecutorService ile işlem yapın ve yeterli yığın ayırın.
S: PDF’nin dijital olarak imzalandığını nasıl doğrularım?
C: İmzalı PDF’i Adobe Acrobat Reader’da açın, sol taraftaki imza paneline bakın. Bir imzaya tıkladığınızda sertifika detayları ve doğrulama durumu gösterilir. Programatik olarak da GroupDocs.Signature doğrulama API’leri mevcuttur.
S: Geliştirme, test ve üretim ortamları için farklı sertifikalar kullanmalı mıyım?
C: Evet. Geliştirme ve test için kendinden imzalı sertifikalar yeterlidir; dış tarafların güvenmesi için üretimde CA‑tarafından verilen bir sertifika kullanılmalıdır.
S: Aynı belgeyi birden çok kişi imzalayabilir mi?
C: Evet. Zaten imzalı PDF’i yeni bir Signature örneğiyle yükleyin, yeni bir DigitalSignOptions oluşturun ve sign() çağırın. Her imza kendi zaman damgası ve sertifikasını taşır, tam bir denetim izi oluşturur.
Sonuç
Java’da PDF dijital imzaları oluşturmak için eksiksiz, üretim‑hazır bir yol haritasına sahipsiniz. GroupDocs.Signature kurulumundan büyük dosyalarla çalışma, sertifika güvenliğine kadar her adımı kapsayan bu rehber, herhangi bir Java uygulamasına güvenilir elektronik imzalama eklemenizi sağlar.
Sonraki Adımlar
- GroupDocs.Signature’ı indirin ve ücretsiz denemeyle başlayın.
- Farklı görünüm ve koordinat seçenekleri ile deneyler yapın.
- İmzalama akışını mevcut servislerinize—API uç noktaları, arka plan işleri veya UI eylemleri—entegre edin.
- QR‑kod imzaları, barkod damgaları ve meta veri imzalama gibi gelişmiş özellikleri keşfedin.
Sağlanan kod parçacıkları doğrudan çalıştırılabilir (yer tutucu yollar ve parolaları kendi değerlerinizle değiştirin). Üretim ortamınıza uygun sağlam hata yönetimi ve güvenli kimlik saklama ekleyin; böylece PDF’leri güvenle imzalayabilirsiniz.
Son Güncelleme: 2026-06-11
Test Edilen Sürüm: GroupDocs.Signature 23.12 for Java
Yazar: GroupDocs
// Good - explicit resource management
try (Signature signature = new Signature(filePath)) {
signature.sign(outputPath, options);
} // Automatically cleaned up