|  | 
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
| (Delphi DLL) 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 v11.0.0 or greater. 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pdf, Cert, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; pdf: HCkPdf; json: HCkJsonObject; jAppearance: HCkJsonObject; cert: HCkCert; begin success := False; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. pdf := CkPdf_Create(); // Load a PDF to be signed. // The "hello.pdf" is available at https://chilkatsoft.com/hello.pdf success := CkPdf_LoadFile(pdf,'qa_data/pdf/hello.pdf'); if (success = False) then begin Memo1.Lines.Add(CkPdf__lastErrorText(pdf)); Exit; end; // Options for signing are specified in JSON. json := CkJsonObject_Create(); // In most cases, the signingCertificateV2 and signingTime attributes are required. CkJsonObject_UpdateInt(json,'signingCertificateV2',1); CkJsonObject_UpdateInt(json,'signingTime',1); // Put the signature on page 1, top left CkJsonObject_UpdateInt(json,'page',1); CkJsonObject_UpdateString(json,'appearance.y','top'); CkJsonObject_UpdateString(json,'appearance.x','left'); // Add some text. CkJsonObject_UpdateString(json,'appearance.text[0]','Digitally signed by: cert_cn'); CkJsonObject_UpdateString(json,'appearance.text[1]','current_dt'); // Add a built-in SVG graphic to the right. CkJsonObject_UpdateString(json,'appearance.image','blue-check-mark'); CkJsonObject_UpdateString(json,'appearance.imagePlacement','right'); CkJsonObject_UpdateString(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_UpdateInt(json,'appearance.width',72 * 3); CkJsonObject_UpdateInt(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.