Exemplo n.º 1
0
        /// <summary>
        /// Sign document with QR-Code containing standard MeCard object
        /// </summary>
        public static void Run()
        {
            Console.WriteLine("\n--------------------------------------------------------------------------------------------------------------------");
            Console.WriteLine("[Example Advanced Usage] # SignWithQRCodeMeCardObject : Sign document with QR-Code containing standard QR-Code MeCard object\n");

            // The path to the documents directory.
            string filePath = Constants.SAMPLE_PDF;
            string fileName = Path.GetFileName(filePath);

            string outputFilePath = Path.Combine(Constants.OutputPath, "SignWithQRCodeMeCard", "QRCodeMeCardObject.pdf");

            using (Signature signature = new Signature(filePath))
            {
                // create MeCard object
                MeCard vCard = new MeCard()
                {
                    Name     = "Sherlock",
                    Nickname = "Jay",
                    Reading  = "Holmes",
                    Note     = "Base Detective",
                    Phone    = "0333 003 3577",
                    AltPhone = "0333 003 3512",
                    Email    = "*****@*****.**",
                    Url      = "http://sherlockholmes.com/",
                    BirthDay = new DateTime(1854, 1, 6),
                    Address  = new Address()
                    {
                        Street  = "221B Baker Street",
                        City    = "London",
                        State   = "NW",
                        ZIP     = "NW16XE",
                        Country = "England"
                    }
                };
                // create options
                QrCodeSignOptions options = new QrCodeSignOptions
                {
                    EncodeType = QrCodeTypes.QR,
                    // setup Data property to MeCard instance
                    Data = vCard,
                    // set right bottom corner
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment   = VerticalAlignment.Center,
                    Width  = 100,
                    Height = 100,
                    Margin = new Padding(10)
                };

                // sign document to file
                signature.Sign(outputFilePath, options);
            }

            Console.WriteLine("\nSource document signed successfully.\nFile saved at " + outputFilePath);
        }
        /// <summary>
        /// Search document for QR-Code signature with MeCard data object.
        /// Please be aware that this example works only on licensed product due to limitation with QR-code processing
        /// </summary>
        public static void Run()
        {
            Console.WriteLine("\n--------------------------------------------------------------------------------------------------------------------");
            Console.WriteLine("[Example Advanced Usage] # SearchForQRCodeMeCardObject : Search document for QR-Code signature with MeCard data object.\n");

            // The path to the documents directory.
            string filePath = Constants.SAMPLE_PDF_QRCODE_MECARD_OBJECT;

            // instantiating the signature object
            using (Signature signature = new Signature(filePath))
            {
                // search document
                List <QrCodeSignature> signatures = signature.Search <QrCodeSignature>(SignatureType.QrCode);
                try
                {
                    foreach (QrCodeSignature qrSignature in signatures)
                    {
                        MeCard meCard = qrSignature.GetData <MeCard>();
                        if (meCard != null)
                        {
                            Console.WriteLine("Found MeCard signature: {0} {1} from {2}. Email: {3}", meCard.Name, meCard.Reading, meCard.Note, meCard.Email);
                        }
                        else
                        {
                            Helper.WriteError($"MeCard object was not found. QRCode {qrSignature.EncodeType.TypeName} with text {qrSignature.Text}");
                        }
                    }
                }
                catch
                {
                    Helper.WriteError("\nThis example requires license to properly run. " +
                                      "\nVisit the GroupDocs site to obtain either a temporary or permanent license. " +
                                      "\nLearn more about licensing at https://purchase.groupdocs.com/faqs/licensing. " +
                                      "\nLear how to request temporary license at https://purchase.groupdocs.com/temporary-license.");
                }
            }
        }