
Sign PDF
Sign PDF is a REST API tool for programmatically applying digital signatures to PDF documents. It uses PFX or certificate credentials to embed cryptographically secure signatures. These digital signatures inherently include electronic signature elements, allowing for customized visual appearances with typed text or image files (e.g., scanned handwritten marks or logos). This tool streamlines document workflows, enhancing authenticity, security, and professionalism.
Key Benefits of Sign PDF API
- Programmatically apply signatures to accelerate document processing.
- Embed cryptographically secure digital signatures using your credentials, enhancing document integrity.
- Add visual signatures from typed text or image files (e.g., hand-drawn, logos) with customizable appearances.
- Apply accepted electronic and digital signature formats to meet industry requirements.
- Programmatically add consistent, professional visual signatures for strong brand identity.
- Integrate PDF signing capabilities effortlessly into applications using a flexible REST API.
Start right from your browser - upload files, choose parameters, generate code, and send API Calls directly from API Lab!
You have document processing problems, we have Solutions. Explore the many ways pdfRest can align your documents with your business objectives.
Applying Digital Signatures with Comprehensive Credential Support
Digital signatures are crucial for ensuring the authenticity and integrity of electronic documents. pdfRest's Sign PDF API provides the capability to programmatically apply these cryptographically secure signatures, binding the signer's identity to the document and helping confirm it hasn't been altered.
Our API offers unparalleled flexibility by supporting diverse credential formats, ensuring compatibility with your existing security infrastructure:
- PFX / PKCS#12 (.pfx, .p12): Seamlessly accept these files, which securely bundle both your public certificate and private key, often password-protected for enhanced security.
- PEM (.pem): Support for this widely used format, typically containing the certificate (and sometimes the private key) in an ASCII (Base64) encoded text format.
- DER (.der): Directly accept this binary encoded format for certificates, commonly used in various system environments.
By directly leveraging these credentials, pdfRest facilitates a high level of trust and verifiability for your PDF documents, providing essential assurances of origin and content integrity.
Customizing Electronic Signature Appearances
While fundamentally applying secure digital signatures, the pdfRest API offers extensive flexibility in customizing the visual representation of these signatures. This allows organizations to tailor the appearance to specific needs, enhancing professionalism and user recognition while maintaining underlying cryptographic security.
Developers can incorporate various electronic signature elements into the appearance:
- Typed Text: Display signer names or custom text labels directly on the signature.
- Image Files: Include logos or scanned images of handwritten signatures, offering a personalized touch for branding or user preference.
- Customizable Display: Control elements like opacity, date/time, contact information, location, and reason for signing, ensuring a consistent brand identity.
This visual customization ensures that the applied digital signatures meet both technical security requirements and aesthetic preferences for branding or specific document types, without compromising the cryptographic integrity.
Automating High-Volume & Compliance-Driven Digital Signing
The pdfRest Sign PDF API excels at addressing the critical demands of high-volume and compliance-driven digital signing workflows. It's purpose-built to handle scenarios where secure, verifiable document execution at scale is essential, going beyond generic API capabilities.
Our API provides a robust solution for a range of demanding scenarios, offering the flexibility and power needed to streamline complex processes:
- Automated Contract Execution: Programmatically sign high volumes of legal agreements, sales contracts, and HR documents, significantly accelerating business processes and reducing manual effort.
- Regulatory Compliance: Support strict industry regulations like HIPAA, SOX, and GDPR by applying verifiable digital signatures that meet audit requirements.
- Secure Document Exchange & Archiving: Ensure the authenticity and integrity of critical financial reports, legal filings, and sensitive data transfers or archives.
- Integrated Business Applications: Seamlessly embed digital signing capabilities directly into CRM, ERP, or document management systems for on-demand signing.
Need more help?
Start with a Tutorial for step-by-step guidance
Learn about the parameters for this tool to create your custom solution.
A JSON-formatted string that defines the properties and visual appearance of the signature to be applied. This is a required parameter.
Example Schema
{
"type": "new",
"name": "esignature",
"logo_opacity": 0.8,
"location": {
"bottom_left": { "x": 0, "y": 0 },
"top_right": { "x": 216, "y": 72 },
"page": 1
},
"display": {
"include_distinguished_name": false,
"include_datetime": false,
"contact": "Name of Contact",
"location": "Name of Location",
"name": "Name",
"reason": "Because!"
}
}
Internal Parameters
type
(string, required)- Description: Specifies whether to apply the signature to a new field or an existing one.
- Allowed Values:
"new"
or"existing"
. - Example:
"type": "new"
name
(string, required)- Description: The name of the signature field. If
type
is"new"
, this will be the name of the new field created. Iftype
is"existing"
, this must precisely match the name of a pre-existing signature field in the PDF. - Example:
"name": "signatureField1"
- Description: The name of the signature field. If
logo_opacity
(float, optional)- Description: Sets the opacity of any background image (like a logo or scanned signature) applied to the signature field.
- Range:
0.0
(fully transparent) to1.0
(fully opaque). - Example:
"logo_opacity": 0.75
location
(dictionary, optional)- Description: Defines the position and size for a new signature box. This parameter is only considered when
type
is"new"
. bottom_left
(dictionary): The coordinates for the bottom-left corner of the new signature box.x
(float): Horizontal position in PDF units.y
(float): Vertical position in PDF units.- Example:
"bottom_left": { "x": 50, "y": 100 }
top_right
(dictionary): The coordinates for the top-right corner of the new signature box.x
(float): Horizontal position in PDF units.y
(float): Vertical position in PDF units.- Example:
"top_right": { "x": 250, "y": 200 }
page
(int): The page number on which to insert the new signature box. Page numbers start from 1.- Example:
"page": 1
- Example:
- Description: Defines the position and size for a new signature box. This parameter is only considered when
display
(dictionary, optional)- Description: Contains various options for the visual information displayed on the signature's appearance.
include_distinguished_name
(boolean): Iftrue
, the distinguished name (DN) from the digital credential or certificate file will be automatically displayed on the signature.- Example:
"include_distinguished_name": true
- Example:
include_datetime
(boolean): Iftrue
, the date and time when the signature was applied will be automatically displayed on the signature.- Example:
"include_datetime": true
- Example:
contact
(string): Custom contact information to display on the signature. Set to an empty string (""
) to omit this field.- Example:
"contact": "support@example.com"
- Example:
location
(string): Custom location information (e.g., "Chicago, IL") to display on the signature. Set to an empty string (""
) to omit.- Example:
"location": "Corporate HQ"
- Example:
name
(string): A custom name to display on the signature. This can be used for typed names or custom labels. Set to an empty string (""
) to omit.- Example:
"name": "A. Signature"
- Example:
reason
(string): A custom reason for signing (e.g., "I approve this document") to display on the signature. Set to an empty string (""
) to omit.- Example:
"reason": "Document Approved"
- Example: