Java'da PDF'lere Dijital İmzalar Nasıl Eklenir
Bu makalede, bir Java programında IronPDF kullanarak PDF belgelerine dijital imza eklemeyi öğreneceksiniz.
IronPDF - Bir Java PDF Kütüphanesi
IronPDF Java PDF Kütüphanesi Genel Bakış, geliştiricilerin yeni PDF belgeleri oluşturmasına izin veren bir Java kütüphanesidir; HTML Dizesini PDF'e Dönüştürme, HTML Dosyasını PDF'e Dönüştürme, Word'u PDF'e Dönüştürme veya URL yoluyla. PDF'lerle kolay bir şekilde içerik ekleyip çıkararak manipüle edilmesine yardımcı olur. PDF belgesi için dijital imzalama ile birlikte Güvenlik ve Dijital İmza Seçenekleri sağlar.
IronPDF, PDF ile ilgili görevlerinin hiçbirini gerçekleştirmek için başka herhangi bir üçüncü taraf kütüphaneye ihtiyaç duymaz. Ayrıca, farklı dosya formatları arasında dönüşüm yapma olanağı da sunar. Çapraz platform desteği sağlar ve özellikle Java, Scala ve Kotlin için tasarlanmıştır.
Java'da PDF Belgesine Dijital İmza Eklemek İçin Adımlar
Ön Koşullar
PDF belgelerine dijital imza eklemek için aşağıdaki ön koşullar gereklidir:
- Herhangi Bir Java IDE (NetBeans, Eclipse, IntelliJ) Kurulmuş Olmalıdır - Bu makale IntelliJ kullanacaktır. Java Geliştirme Kiti'ni Oracle Java SE İndirmelerinden ayrı olarak indirebilirsiniz.
- Otomasyon İçin Maven Java Projesi - Java programınızdaki bağımlılıkları indirme ve yönetmede yardımcı olacaktır. Maven'ı Apache Maven İndirme Sayfasından indirebilirsiniz.
- IronPDF Kütüphanesi İndirildi ve Kuruldu - IronPDF'yi indirmek ve kurmak için Maven bağımlılık nesnesini dahil edin. Aşağıdaki kod parçacığını
pom.xmldosya bağımlılıkları etiketine ekleyebilirsiniz:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2023.2.0</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2023.2.0</version>
</dependency>
-
Gereken başka bir bağımlılık Slf4j-simple'dır. Bu isteğe bağlıdır ve
pom.xmldosyasında aşağıdaki bağımlılığı kullanarak eklenebilir:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency>XML
pom.xml dosyası
IronPDF Java Paketlerini İçe Aktar
Ana dosyada gerekli olan içe aktarmalar aşağıda listelenmiştir. PDF belgesine dijital imza eklemek için IronPDF işlevlerini kullanmaya olanak tanır:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;
Her şey şimdi gerek duyulan şey yapılmış ve IronPDF kullanarak Java'da PDF belgesine dijital imza eklenmeye hazır.
PDF Dosyası Oluştur veya Mevcut PDF Dosyasını Aç
PDF'leri Dijital Olarak Nasıl İmzalayacağınızı Öğrenmek için ya sıfırdan bir PDF belgesi oluşturmak ya da mevcut bir PDF belgesini açmak gereklidir. Bu makale renderHtmlAsPdf Method ve PdfDocument Class kullanarak PDF imzası için yeni bir PDF belgesi oluşturacaktır. Kod şöyle devam ediyor:
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
PDF belgesi oluşturulmuş ancak henüz kaydedilmemiştir. Bu nedenle, bir dijital imza oluşturmak ve ardından bu PDF belgesine eklemek ve sonunda kaydetmek sonraki adımdır.
Dijital İmza Oluştur
Java kodunda PDF belgelerini bu detaylarla dijital olarak imzalamak için Adobe Reader kullanarak bir dijital imza sertifikası oluşturmanız gerekecektir. Adobe Reader'da Dijital İmza Nasıl Oluşturulur konusuna buradan bakabilirsiniz.
Adobe Reader'ı açın ve Düzenle > Tercihler üzerine tıklayın. Ardından İmzalar'a tıklayın ve Kimlikler ve Güvenilir Sertifikalar üzerine daha fazla tıklayın.
Proje tercihleri
.pfx veya .p12 dosya dokümanı oluşturmak için aşağıdaki İmza alanını ekleyin.
Dijital ID ekleme diyalogu
Aşağıdaki kod örneği, Windows için .pfx sertifika dosyasını ve Mac için .p12 dosyasını kullanarak, kendi özel anahtarı (şifre) ile birlikte Java kodunda yeni bir imza oluşturacaktır:
Signature signature = new Signature("Iron.pfx", "123456");
Signature signature = new Signature("Iron.pfx", "123456");
PDF Dosyasını Dijital İmza ile İmzala
IronPDF, SignatureManager sınıfı kullanılarak imza sertifikasının eklenmesine yardımcı olur. [getSignature Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature() PDF belgesinin önceki imzasını almak ve ardından imza dosyasını bir argüman olarak kullanarak [SignPdfWithSignature Method](/java/object-reference/api/com/ironsoftware/ironpdf/signature/SignatureManager.html#SignPdfWithSignature(com.ironsoftware.ironpdf.signature.Signature) ile yeni bir imza eklemek için yardımcı olur. Kod şöyle devam ediyor:
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
PDF İmza Dosyasını Kaydet
Son olarak, PDF dosyasını kaydedelim; aksi takdirde, PDF, PdfDocument sınıfının [saveAs Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.lang.String) kullanılarak imzalanmaz. Kod basit ve aşağıdaki gibidir:
pdf.saveAs("signed.pdf");
pdf.saveAs("signed.pdf");
Kodu başarıyla derleyip çalıştırdıktan sonra, çıktı dijital olarak imzalanmış bir PDF üretir.
Çıktı PDF dosyası
IronPDF ayrıca dijital imzalar için de kullanılabilen diğer imzalama seçenekleri sağlar. Bu, el yazısı, bilgisayar tarafından üretilen metin görüntüleri veya dijitalleştirilmiş görüntüler şeklinde imza görüntülerini içerir. Aşağıdaki kod örneği, dijital imzalama için bazı ek güvenlik seçeneklerini eklemenize yardımcı olur:
signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());
signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());
Tam kod aşağıdaki gibidir:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
public class DigitalSignatureExample {
public static void main(String[] args) throws IOException {
// Step 1. Create a PDF File Doc
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
Signature signature = new Signature("Iron.pfx", "123456");
// Step 3. Sign the PDF with the PdfSignature.
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
pdf.saveAs("signed.pdf");
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
public class DigitalSignatureExample {
public static void main(String[] args) throws IOException {
// Step 1. Create a PDF File Doc
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
Signature signature = new Signature("Iron.pfx", "123456");
// Step 3. Sign the PDF with the PdfSignature.
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
pdf.saveAs("signed.pdf");
}
}
Dijital İmza hakkında daha fazla bilgi, PDF İmza Kodu Örneği'nden kontrol edebilirsiniz. Daha fazla güvenlik eklemek ve hatta metadataları düzenlemek istiyorsanız, Güvenlik ve Metadata Örnek Kodları'nı kontrol edin.
Sonuç
Bu makalede, Java için IronPDF kullanarak PDF belgelerine adım adım dijital imza ekleme açıklandı.
Öncelikle, makalede Java'da IronPDF kullanarak PDF'lerle çalışmak için gerekli unsurlar ele alındı. Daha sonra basit bir PDF belgesi HTML dizgisi kullanılarak oluşturuldu. Mevcut PDF belgesini imzalamak için Adobe Reader'dan bir sertifika dosyası yaratıldı. IronPDF bir Signature ve kullanıcıların bir sertifika eklemesine ve imza alanıyla birlikte PDF'yi imzalamasına yardımcı olan SignatureManager sınıfı sağlar.
IronPDF geliştiricilere PDF ile ilgili görevleri kolay ve hızlı bir şekilde gerçekleştirmelerinde kolaylık sağlar. Piksel mükemmelliğinde PDF'ler ile doğru sonuçlar sağlar. Java gibi çok yönlü ve yaygın olarak kullanılan bir programlama dili için, IronPDF iyi bir şekilde PDF belgeleriyle çalışmak üzere uygun, zira aynı zamanda çok yönlüdür ve hemen hemen tüm PDF işlemlerini destekler. Ayrıca, zaten başarıya ulaşmış olan .NET yetenekleri üzerine inşa edilmiştir.
IronPDF ayrıca Java için özel olarak tasarlanmış hızlı IronPDFEngine kullanarak farklı dosya formatlarından kolay dönüştürme sağlar. IronPDF kütüphanesini, Veri Çıkar veya Metin Ekle, Görüntü Yükle ve Çıkar, PDF'lere Başlıklar ve Alt Bilgiler Ekle, açıklamalar yapma, PDF'lere Grafik ve Çizelgeleri Döndür, PDF Formları ile çalışma ve daha birçok şey yapmak için kullanabilirsiniz.
IronPDF nasıl kullanılacağı hakkında detaylı bilgi Java PDF Kod Örnekleri sayfalarından alınabilir.
IronPDF bireysel geliştiriciler için ücretsizdir ve PDF belgeleri oluşturmak için filigransız bir ücretsiz deneme sürümü sağlar. Ticari kullanım için lisanslanabilir ve kullanıcıları bu Detaylı Lisanslama Bilgi Sayfası'ndan lisans hakkında daha fazla bilgi edinebilir.
Sıkça Sorulan Sorular
Java'da bir PDF'ye dijital imza nasıl eklerim?
Java'da IronPDF kullanarak bir PDF'e dijital imza ekleyebilirsiniz; bir PDF belgesi oluşturarak veya açarak, bir sertifika dosyasıyla dijital imza oluşturarak ve IronPDF'in `SignatureManager` sınıfını imzayı uygulamak için kullanarak. Son olarak, imzalı PDF belgesini kaydedin.
Bir Java kütüphanesi kullanarak HTML'yi PDF'ye dönüştürmenin adımları nelerdir?
Java'da IronPDF kullanarak HTML'yi PDF'ye dönüştürmek için PdfDocument.renderHtmlAsPdf metodunu kullanın. Bu, HTML dizelerini doğrudan bir PDF belgesine çevirmenizi sağlar, ardından PdfDocument.saveAs metodu kullanarak kaydedebilirsiniz.
Bir Java projesinde IronPDF'i kullanmak için hangi ön koşullar gereklidir?
Bir Java projesinde IronPDF kullanmak için, IntelliJ gibi bir Java IDE'ye, bağımlılıkları yönetmek için bir Maven projesine ve IronPDF kütüphanesine ihtiyacınız var. Ayrıca, dijital imzalar eklemek için bir dijital imza sertifikası gereklidir.
Java'da IronPDF diğer dosya formatlarını PDF'ye dönüştürebilir mi?
Evet, HTML dışında, IronPDF Word belgeleri ve URL'ler gibi çeşitli diğer dosya formatlarını Java uygulamalarında PDF'ye dönüştürebilir.
IronPDF, PDF işlevsellikleri için üçüncü taraf kütüphanelere ihtiyaç duyar mı?
Hayır, IronPDF, çekirdek PDF işlevsellikleri için herhangi bir üçüncü taraf kütüphaneye ihtiyaç duymaz ve bu da onu Java'da PDF oluşturma ve düzenleme için bağımsız bir çözüm yapar.
PDF'leri imzalamak için dijital imza sertifikasını nasıl oluştururum?
Adobe Reader kullanarak Ayarlar > Tercihler > İmzalar'a giderek ve Kimlikleri ve Güvenilen Sertifikaları yöneterek dijital imza sertifikası oluşturabilirsiniz.
Java'da dijital imzaları yönetmek için IronPDF'te hangi sınıf kullanılır?
IronPDF içindeki SignatureManager sınıfı, Java'da dijital imzaları yönetmek için kullanılır. Bu sınıf, yeni imzalar eklemenizi ve bir PDF belgesinden mevcut olanları almanızı sağlar.
Java'da IronPDF ile dijital imzalama için hangi ek seçenekler mevcuttur?
Java'da IronPDF, imza resimleri ekleme, imza kontağı, yer ve nedeni belirtme ve dijital imzaya el yazısı ve dijitalleştirilmiş görseller ekleme seçenekleri sunar.
Java için ücretsiz bir IronPDF sürümü var mı?
IronPDF, bireysel geliştirme için ücretsiz bir deneme sunar ve filigransız kullanılabilir. Ticari kullanım için lisanslama seçenekleri vardır.
Java için IronPDF'in bazı gelişmiş özellikleri nelerdir?
Java için IronPDF, metin ve resim çıkarma, başlık ve altbilgi ekleme, grafik ve grafik çizimi ve PDF formları ile çalışma gibi özellikler içerir.





