Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) PDF Signatures with Built-in SVG GraphicsSee more PDF Signatures ExamplesThis example demonstrates the built-in SVG graphics that can be applied to the appearance when signing a PDF. Note: This example requires Chilkat v9.5.0.85 or greater.
LOCAL loPdf LOCAL lnSuccess LOCAL loJson LOCAL loCert * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Pdf') loPdf = CreateObject('Chilkat.Pdf') * Load a PDF to be signed. * The "hello.pdf" is available at https://chilkatsoft.com/hello.pdf lnSuccess = loPdf.LoadFile("qa_data/pdf/hello.pdf") IF (lnSuccess = 0) THEN ? loPdf.LastErrorText RELEASE loPdf CANCEL ENDIF * Options for signing are specified in JSON. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') * In most cases, the signingCertificateV2 and signingTime attributes are required. loJson.UpdateInt("signingCertificateV2",1) loJson.UpdateInt("signingTime",1) * Specify the location/position, scale, and content of the signature's appearance. loJson.UpdateInt("page",1) loJson.UpdateString("appearance.y","top") loJson.UpdateString("appearance.x","left") loJson.UpdateString("appearance.fontScale","10.0") loJson.UpdateString("appearance.text[0]","Digitally signed by: cert_cn") loJson.UpdateString("appearance.text[1]","current_dt") loJson.UpdateString("appearance.text[2]","The crazy brown fox jumps over the lazy dog.") * In addition to the above, this example adds a built-in SVG graphic to the appearance. * The built-in SVG graphic is specified by a name, such as "green-check-grey-circle". * The full list of graphic names and images are shown below. loJson.UpdateString("appearance.image","green-check-grey-circle") * The graphic can be placed "left", "center", or "right". * If "center", then the graphic is displayed behind the text. loJson.UpdateString("appearance.imagePlacement","left") * The graphic's opacity can range from 1 to 100. * Centered graphics look best with less opacity (50 or less). * In this example, we'll keep the opacity at 100. loJson.UpdateString("appearance.imageOpacity","100") * Here's an example of the signature's appearance if we centered the SVG graphic with an opacity of 40% * Load the signing certificate. (Use your own certificate.) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cert') loCert = CreateObject('Chilkat.Cert') lnSuccess = loCert.LoadPfxFile("qa_data/pfx/myPdfSigningCert.pfx","secret") IF (lnSuccess = 0) THEN ? loCert.LastErrorText RELEASE loPdf RELEASE loJson RELEASE loCert CANCEL ENDIF * Tell the pdf object to use the certificate for signing. lnSuccess = loPdf.SetSigningCert(loCert) IF (lnSuccess = 0) THEN ? loPdf.LastErrorText RELEASE loPdf RELEASE loJson RELEASE loCert CANCEL ENDIF lnSuccess = loPdf.SignPdf(loJson,"qa_output/hello_signed.pdf") IF (lnSuccess = 0) THEN ? loPdf.LastErrorText RELEASE loPdf RELEASE loJson RELEASE loCert CANCEL ENDIF ? "The PDF has been successfully cryptographically signed." * The appearance of the signature appears in Adobe Acrobat as shown here: * The SVG icon graphics are embedded within the Chilkat library, * and were graciously provided by uxwing - Free SVG Icons * * The uxwing licensing terms are reproduced here and can be verified at uxwing licensing * Icons from uxwing.com are free (see https://uxwing.com/license/) * - All icons on UXWing free to download, and use personal, commercial projects. * - Attribution and Credit is NOT required, however, any credit will be much appreciated. * - There is no limit to the number of times you can use. * - You may modify the resources according to your requirements. * The set of SVG names and the corresponding graphics are shown below. * * For example, if we specify "green-check-green-circle" loJson.UpdateString("appearance.image","green-check-green-circle") * We get: * "application-approved" * "application-rejected" * "document-accepted" * "approved" * "blue-check-mark" * "green-check-mark" * "green-check-grey-circle" * "red-x-red-circle" * "rejected" * "result-failure" * "result-pass" * "signature" * "document-check" * "document-x" * "red-x-grey-circle" RELEASE loPdf RELEASE loJson RELEASE loCert |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.