C#'ta PDF'yi QR Koduyla Dijital Olarak İmzalayın

C#’ta PDF’yi QR Koduyla Dijital Olarak İmzalayın

Modern çağda, QR kodlu dijital olarak imzalanmış PDF’ler, otomatik dijital işleme sistemleri için daha güvenli ve hızlı bir şekilde doğrulanabilir hale geldi. QR kodlarını kullanmanın bir başka iyi nedeni de pek çok yararlı bilgi içerebilmeleridir. C# dilinde PDF dosyalarını QR koduyla nasıl e-imzalayacağınızı öğrenmek istiyorsanız, doğru yere geldiniz.

Bu makalede aşağıdaki noktalar ele alınacaktır:

PDF’yi QR Koduyla Dijital Olarak İmzalamak için C# Kitaplığı

DLL’yi indirebilir veya NuGet paket yöneticisi konsolundaki komutu (aşağıda verildiği gibi) çalıştırarak yükleyebilirsiniz.

Install-Package GroupDocs.Signature

C#’ta PDF’yi QR Koduyla Dijital Olarak İmzalama Adımları

Kurulumdan sonra birkaç satır kod yazmaya başlayalım.

Lütfen aşağıda belirtilen adımları ve kod pasajını izleyin:

  1. Signature sınıfını oluşturun ve kaynak belgenin yolunu yapıcı parametresi olarak iletin.
  2. QrCodeSignOptions sınıfının bir örneğini başlatın ve EncodeType ve Text özelliklerini ayarlayın.
  3. Signature sınıfının Sign yöntemini çağırın ve çıktı dosyasının yolunu ve QrCodeSignOptions‘yi ona iletin.

Aşağıdaki kod örneğini kopyalayıp C# dosyanıza yapıştırabilirsiniz:

using (Signature signature = new Signature("sample.pdf"))
{
    // önceden tanımlanmış QRCode metniyle QRCode seçeneği oluşturun
    QrCodeSignOptions options = new QrCodeSignOptions("JohnSmith")
    {
        // QRCode kodlama türünü ayarla
        EncodeType = QrCodeTypes.QR,
        // imza konumunu ayarla
        Left = 100,
        Top = 100
    };
    signature.Sign("SampleSigned.pdf", options);
}

Çıktı aşağıdaki resimde görülebilir:

QR Kod İşareti

C#’ta QR koduyla PDF’yi e-İmzalayın - Gelişmiş Seçenekler

PDF eSign kitaplığı, QrCodeSignOptions sınıfında bazı ek kullanışlı seçenekler sunar. İmza hizalamasını, kenar boşluklarını, kenarlıkları, yazı tipini, renkleri ve arka planı belirtmek için bu sınıfı kullanabilirsiniz. Ayrıca yeni oluşturulan bir imzanın sonuçlarını SignResult sınıfını kullanarak doğrulayabilirsiniz.

Gelişmiş seçeneklerle QR Kodu oluşturma adımları aşağıda verilmiştir:

  1. Kaynak belgenin yolunu yapıcı parametresi olarak sağlayarak Signature sınıfının yeni bir örneğini başlatın.
  2. QrCodeSignOptions sınıfının bir örneğini oluşturun.
  3. İmzanın metnini ve kodlama türünü ayarlayın.
  4. İmzanın konumunu ayarlayın.
  5. İmzanın hizalamasını, kenar boşluklarını, kenarlıklarını, yazı tipini, renklerini ve arka planını belirtin.
  6. Signature sınıfının Sign yöntemini çağırın ve çıktı dosyasının yolunu ve QrCodeSignOptions‘yi ona iletin.
  7. İsteğe bağlı olarak, yeni oluşturulan imzaları analiz etmek veya doğrulamak için SignResult nesnesini alabilirsiniz.

Aşağıdaki C# kodu, gelişmiş seçenekleri kullanarak PDF’nin QR koduyla nasıl imzalanacağını gösterir:

using (Signature signature = new Signature("sample.pdf"))
            {
                // önceden tanımlanmış QRCode metniyle QRCode seçeneği oluşturun
                QrCodeSignOptions options = new QrCodeSignOptions("12345678")
                {
                    // QRCode kodlama türünü ayarla
                    EncodeType = QrCodeTypes.QR,
                    // imza konumunu ayarla
                    Left = 100,
                    Top = 100,
                    // imza hizalamasını ayarla
                    // VerticalAlignment ayarlandığında Üst koordinat göz ardı edilecektir.
                    // Dikey uzaklık sağlamak için Üst, Alt Kenar Boşluğu özelliklerini kullanın
                    VerticalAlignment = VerticalAlignment.Top,
                    // HorizontalAlignment ayarlandığında Sol koordinat göz ardı edilecektir.
                    // Yatay uzaklık sağlamak için Sol, Sağ Kenar Boşluğu özelliklerini kullanın
                    HorizontalAlignment = HorizontalAlignment.Right,
                    Margin = new Padding() { Top = 20, Right = 20 },
                    // imza görünümünü ayarlama
                    // imza kenarlığını ayarla
                    Border = new Border()
                    {
                        Color = Color.DarkGreen,
                        DashStyle = GroupDocs.Signature.Domain.DashStyle.DashLongDashDot,
                        Transparency = 0.5,
                        Visible = true,
                        Weight = 2
                    },
                    // metin rengini ve Yazı Tipini ayarlama
                    ForeColor = Color.Red,
                    Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" },
                    // arka planı ayarla
                    Background = new Background()
                    {
                        Color = Color.LimeGreen,
                        Transparency = 0.5,
                        Brush = new LinearGradientBrush(Color.LimeGreen, Color.DarkGreen)
                    }
                };
                // Belgeyi dosyaya imzalayın ve SignResut'u doldurun
                SignResult signResult = signature.Sign("signed.pdf", options);
                Console.WriteLine("\nList of newly created signatures:");
                int number = 1;
                foreach (BaseSignature temp in signResult.Succeeded)
                {
                    Console.WriteLine($"Signature #{number++}: Type: {temp.SignatureType} Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");
                }
            }

Aşağıdaki resimde görüldüğü gibi çıktıyı alacaksınız:

PDF'yi e-İmzalayın

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan test etmek için ücretsiz geçici lisans’tan yararlanabilirsiniz.

Çözüm

Bu yazıda, elektronik imza kütüphanesini kullanarak C#’ta PDF’yi QR Koduyla Dijital Olarak İmzalamayı öğrendik. Ayrıca, PDF belgelerinize QR Kod İmzasını eklemek için bazı gelişmiş seçenekler hakkında da bilgi edindiniz. Dijital imza kütüphanesinin diğer özellikleri hakkında bilgi edinmek için belgeleri ziyaret edebilirsiniz.

Ayrıca Başlangıç kılavuzumuzu takip etmenizi öneririz.

Bir soru sor

Sorularınızı veya sorularınızı forumumuz üzerinden bize bildirebilirsiniz.

Ayrıca bakınız