Podpisz cyfrowo plik PDF za pomocą kodu QR w języku C#

Podpisz cyfrowo plik PDF za pomocą kodu QR w języku C#

W epoce nowożytnej podpisane cyfrowo pliki PDF z kodem QR stały się bezpieczniejsze i szybciej weryfikowalne w zautomatyzowanych systemach przetwarzania cyfrowego. Kolejnym dobrym powodem stosowania kodów QR jest to, że mogą one zawierać wiele przydatnych informacji. Jeśli chcesz dowiedzieć się, jak podpisywać pliki PDF za pomocą kodu QR w języku C#, trafiłeś we właściwe miejsce.

W tym artykule zostaną omówione następujące punkty:

Biblioteka C# do cyfrowego podpisywania plików PDF za pomocą kodu QR

Możesz pobrać bibliotekę DLL lub zainstalować ją, uruchamiając polecenie (jak podano poniżej) w konsoli menedżera pakietów NuGet.

Install-Package GroupDocs.Signature

Kroki, aby podpisać cyfrowo plik PDF za pomocą kodu QR w języku C#

Po instalacji zacznijmy pisać kilka linijek kodu.

Postępuj zgodnie z instrukcjami i fragmentem kodu wymienionym poniżej:

  1. Utwórz instancję klasy Signature i przekaż ścieżkę dokumentu źródłowego jako parametr konstruktora.
  2. Zainicjuj instancję klasy QrCodeSignOptions i ustaw właściwości EncodeType i Text.
  3. Wywołaj metodę Sign klasy Signature i przekaż do niej ścieżkę pliku wyjściowego oraz QrCodeSignOptions.

Możesz po prostu skopiować i wkleić następujący przykładowy kod do pliku C#:

using (Signature signature = new Signature("sample.pdf"))
{
    // utwórz opcję QRCode z predefiniowanym tekstem QRCode
    QrCodeSignOptions options = new QrCodeSignOptions("JohnSmith")
    {
        // skonfiguruj typ kodowania QRCode
        EncodeType = QrCodeTypes.QR,
        // ustaw pozycję podpisu
        Left = 100,
        Top = 100
    };
    signature.Sign("SampleSigned.pdf", options);
}

Wynik można zobaczyć na obrazku poniżej:

Znak kodu QR

Podpisz PDF kodem QR w C# - Opcje zaawansowane

Biblioteka PDF eSign udostępnia kilka dodatkowych przydatnych opcji w klasie QrCodeSignOptions. Tej klasy można użyć do określenia wyrównania podpisu, marginesów, obramowań, czcionki, kolorów i tła. Ponadto możesz zweryfikować skutki nowo utworzonego podpisu, korzystając z klasy SignResult.

Poniżej przedstawiono kroki tworzenia kodu QR z opcjami zaawansowanymi:

  1. Zainicjuj nową instancję klasy Signature, podając ścieżkę dokumentu źródłowego jako parametr konstruktora.
  2. Utwórz instancję klasy QrCodeSignOptions.
  3. Ustaw tekst podpisu i typ kodowania.
  4. Ustaw pozycję podpisu.
  5. Określ wyrównanie podpisu, marginesy, obramowanie, czcionkę, kolory i tło.
  6. Wywołaj metodę Sign klasy Signature i przekaż do niej ścieżkę pliku wyjściowego oraz QrCodeSignOptions.
  7. Opcjonalnie możesz otrzymać obiekt SignResult w celu analizy lub weryfikacji nowo utworzonych podpisów.

Poniższy kod C# pokazuje, jak podpisać plik PDF kodem QR przy użyciu opcji zaawansowanych:

using (Signature signature = new Signature("sample.pdf"))
            {
                // utwórz opcję QRCode z predefiniowanym tekstem QRCode
                QrCodeSignOptions options = new QrCodeSignOptions("12345678")
                {
                    // skonfiguruj typ kodowania QRCode
                    EncodeType = QrCodeTypes.QR,
                    // ustaw pozycję podpisu
                    Left = 100,
                    Top = 100,
                    // ustaw wyrównanie podpisu
                    // gdy ustawiona jest opcja VerticalAlignment, współrzędna górna zostanie zignorowana.
                    // Użyj właściwości Margin Top, Bottom, aby zapewnić przesunięcie pionowe
                    VerticalAlignment = VerticalAlignment.Top,
                    // gdy ustawiona jest opcja HorizontalAlignment, współrzędna lewa zostanie zignorowana.
                    // Użyj właściwości Margin Left, Right, aby zapewnić przesunięcie w poziomie
                    HorizontalAlignment = HorizontalAlignment.Right,
                    Margin = new Padding() { Top = 20, Right = 20 },
                    // dostosuj wygląd podpisu
                    // skonfiguruj ramkę podpisu
                    Border = new Border()
                    {
                        Color = Color.DarkGreen,
                        DashStyle = GroupDocs.Signature.Domain.DashStyle.DashLongDashDot,
                        Transparency = 0.5,
                        Visible = true,
                        Weight = 2
                    },
                    // ustaw kolor tekstu i czcionkę
                    ForeColor = Color.Red,
                    Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" },
                    // ustaw tło
                    Background = new Background()
                    {
                        Color = Color.LimeGreen,
                        Transparency = 0.5,
                        Brush = new LinearGradientBrush(Color.LimeGreen, Color.DarkGreen)
                    }
                };
                // podpisz dokument do pliku i wypełnij SignResut
                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}");
                }
            }

Otrzymasz wynik jak widać na obrazku poniżej:

Podpisz PDF

Zdobądź bezpłatną licencję

Możesz skorzystać z bezpłatnej licencji tymczasowej, aby przetestować interfejs API bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak cyfrowo podpisywać pliki PDF za pomocą kodu QR w języku C# przy użyciu biblioteki podpisów elektronicznych. Poza tym zyskałeś także wiedzę na temat niektórych zaawansowanych opcji dodawania znaku QR Code do swoich dokumentów PDF. Możesz odwiedzić dokumentację, aby poznać inne funkcje biblioteki podpisów cyfrowych.

Dodatkowo sugerujemy skorzystanie z naszego Przewodnika wprowadzającego.

Zadać pytanie

Możesz dać nam znać o swoich pytaniach lub wątpliwościach na naszym forum.

Zobacz też