Allow signers to Print & Sign documents

BoldSign supports signers to allow printing and signing the document. This article will guide you on how to enable signers to print and sign the document using the API.

You can allow signers to print and sign the document by setting EnablePrintAndSign to true when sending the document via API.

Below are a few code examples demonstrating how to allow signers to print and sign the document.

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {your API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Signers={
  "name": "David",
  "emailAddress": "[email protected]",
  "formFields": [
    {
      "id": "string",
      "fieldType": "Signature",
      "pageNumber": 1,
      "bounds": {
        "x": 100,
        "y": 100,
        "width": 100,
        "height": 20
      },
      "isRequired": true
}
  ],
  "locale": "EN"
}' \
  -F 'EnablePrintAndSign=true' \
'Files={your file}' \
  -F 'Title=Print and Sign' \

import boldsign

configuration = boldsign.Configuration(host="https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:

    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
        title="Sample Document",
        files=["YOUR_FILE_PATH"],
        enable_print_and_sign=True,
        signers=[
            boldsign.DocumentSigner(
                name="David",
                emailAddress="[email protected]",
                signerType="Signer",
                formFields=[
                    boldsign.FormField(
                        id="Signature",
                        fieldType="Signature",
                        pageNumber=1,
                        isRequired=True,
                        bounds=boldsign.Rectangle(x=100, y=100, width=200, height=100)
                    )
                ]
            )
        ]
    )
	
    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign};

$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$form_field = new FormField();
$form_field->setId('Signature');
$form_field->setFieldType('Signature');
$form_field->setPageNumber(1);
$form_field->setIsRequired(true);
$bounds = new Rectangle(['x' => 100, 'y' => 100, 'width' => 200, 'height' => 100]);
$form_field->setBounds($bounds);

$document_signer = new DocumentSigner();
$document_signer->setName('David');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$form_field]);

$send_for_sign = new SendForSign();
$send_for_sign->setTitle('Sample Document');
$send_for_sign->setFiles(['YOUR_FILE_PATH']);
$send_for_sign->setSigners([$document_signer]);
$send_for_sign->setEnablePrintAndSign(true);

$document_created = $document_api->sendDocument($send_for_sign);

ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");  
client.setApiKey("YOUR_API_KEY");
        
DocumentApi documentApi = new DocumentApi(client);

FormField formField = new FormField();
formField.setId("Signature");
formField.setFieldType(FormField.FieldTypeEnum.SIGNATURE);
formField.setPageNumber(1);
formField.setIsRequired(true);
Rectangle bounds = new Rectangle().x(100f).y(100f).width(200f).height(100f);
formField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("David");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(formField));

SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("Sample Document");
sendForSign.setFiles(Arrays.asList(new File("YOUR_FILE_PATH")));
sendForSign.setSigners(Arrays.asList(signer));
sendForSign.setEnablePrintAndSign(true);
		
DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
import { DocumentApi, DocumentSigner, FormField, Rectangle, SendForSign } from "boldsign"; 
import * as fs from 'fs';

const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const bounds = new Rectangle();
bounds.x = 100;
bounds.y = 100;
bounds.width = 200;
bounds.height = 100;

const formField = new FormField();
formField.id = "Signature";
formField.fieldType = FormField.FieldTypeEnum.Signature;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = bounds;

const documentSigner = new DocumentSigner();
documentSigner.name = "David";
documentSigner.emailAddress = "[email protected]";
documentSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
documentSigner.formFields = [formField];

const sendForSign = new SendForSign();
sendForSign.title = "Sample Document";
sendForSign.signers = [documentSigner];
sendForSign.files = [fs.createReadStream("YOUR_FILE_PATH")];
sendForSign.enablePrintAndSign = true;

const documentCreated = documentApi.sendDocument(sendForSign);

In the example code above, by setting EnablePrintAndSign to true, the document will be sent to the signer, who can then proceed to print and sign it.