
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>
-
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>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;
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>");
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");
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);
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");
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());
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");
}
}
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.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


