![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(PureBasic) PDF Signature Appearance Width and HeightSee more PDF Signatures ExamplesThis example explains how the width and height of the signature appearance rectangle box is determined.Note: This example requires Chilkat v9.5.0.85 or greater.
IncludeFile "CkCert.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkPdf.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. pdf.i = CkPdf::ckCreate() If pdf.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Load a PDF to be signed. ; The "hello.pdf" is available at https://chilkatsoft.com/hello.pdf success.i = CkPdf::ckLoadFile(pdf,"qa_data/pdf/hello.pdf") If success = 0 Debug CkPdf::ckLastErrorText(pdf) CkPdf::ckDispose(pdf) ProcedureReturn EndIf ; Options for signing are specified in JSON. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; In most cases, the signingCertificateV2 and signingTime attributes are required. CkJsonObject::ckUpdateInt(json,"signingCertificateV2",1) CkJsonObject::ckUpdateInt(json,"signingTime",1) ; Put the signature on page 1, top left CkJsonObject::ckUpdateInt(json,"page",1) CkJsonObject::ckUpdateString(json,"appearance.y","top") CkJsonObject::ckUpdateString(json,"appearance.x","left") ; Add some text. CkJsonObject::ckUpdateString(json,"appearance.text[0]","Digitally signed by: cert_cn") CkJsonObject::ckUpdateString(json,"appearance.text[1]","current_dt") ; Add a built-in SVG graphic to the right. CkJsonObject::ckUpdateString(json,"appearance.image","blue-check-mark") CkJsonObject::ckUpdateString(json,"appearance.imagePlacement","right") CkJsonObject::ckUpdateString(json,"appearance.imageOpacity","100") ; There are 4 ways the width and height of the signature rectangle can be specified. ; 1) The width and height (in points) are both explicitly specified. ; User space coordinates use "points" where 72 points equals 1 inch. ; For example (3 inches wide and 1 inch high) ; The fontScale is automatically chose to fit. In addition, if a graphic (JPG or built-in SVG) is included, ; it is automatically scaled such that the text + graphic fit together in the specified rectangle. ; Note: When both height and width are explicitly specified, the resultant signature appearance rectangle ; will match one of the dimensions, but the other dimension will be equal or smaller. This is because the text ; must be proportionally scaled. CkJsonObject::ckUpdateInt(json,"appearance.width",72 * 3) CkJsonObject::ckUpdateInt(json,"appearance.height",72) ; The signature would have this appearance. In this case, the height is actually less than 1 inch because ; if Chilkat chose a fontScale to fill the height, the resulting text's width would be too long for the desired width. |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.