Altbilgi içeriğine atla
JAVA IçIN IRONPDF KULLANıMı

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.xml dosya 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>
XML
  • Gereken başka bir bağımlılık Slf4j-simple'dır. Bu isteğe bağlıdır ve pom.xml dosyası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

Java'da PDF'lere Dijital İmzalar Ekleme, Şekil 1: pom.xml dosyası 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;
JAVA

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>");
JAVA

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.

Java'da PDF'lere Dijital İmzalar Ekleme, Şekil 2: Proje tercihleri Proje tercihleri

.pfx veya .p12 dosya dokümanı oluşturmak için aşağıdaki İmza alanını ekleyin.

Java'da PDF'lere Dijital İmzalar Ekleme, Şekil 3: Dijital Kimlik Ekleme iletişim kutusu 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");
JAVA

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);
JAVA

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");
JAVA

Kodu başarıyla derleyip çalıştırdıktan sonra, çıktı dijital olarak imzalanmış bir PDF üretir.

Java'da PDF'lere Dijital İmzalar Ekleme, Şekil 4: Çıktı PDF dosyası Çı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());
JAVA

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

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.

Darrius Serrant
Tam Yığın Yazılım Mühendisi (WebOps)

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimi alanında Lisans Derecesine sahip ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışıyor. Genç yaşlardan itibaren kodlamaya çekildi, bilgisayar bilimi hem gizemli hem de erişilebilir olarak görüldü ve bu özellik, yaratıcılık ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara