How to replace Signature in PDF via Cloud PHP SDK
To replace signature in PDF, we’ll use Aspose.PDF Cloud PHP SDK This Cloud SDK assists PHP programmers in developing cloud-based PDF creator, annotator, editor, and converter apps using PHP programming language via Aspose.PDF REST API. Simply create an account at Aspose for Cloud and get your application information. Once you have the App SID & key, you are ready to give the Aspose.PDF Cloud PHP SDK.
Package Manager Console Command
composer install
Steps to replace signature in PDF via Cloud PHP
Aspose.PDF Cloud developers can easily load & replace signature in PDF in just a few lines of code.
- Upload a PDF Document
- Downloads the PDF document with the applied signature from the Aspose.PDF cloud storage.
- Applies the specified signature to the PDF document.
Replace signature in PDF using PHP
require __DIR__.'\..\..\vendor\autoload.php';
use Aspose\PDF\Configuration;
use Aspose\PDF\Api\PdfApi;
$config = [
'LOCAL_FOLDER' => "C:\\Samples\\",
'PDF_DOCUMENT_NAME' => "sample.pdf",
'LOCAL_RESULT_DOCUMENT_NAME' => "output_sample.pdf",
'LOCAL_SIGNATURE_PATH' => "C:\\Samples\\Signatures\\3",
'SIGNATURE_PFX' => "signature.pfx",
'SIGNATURE_FORM_FIELD' => 'Signature_1',
'SIGNATURE_PASSWORD' => 'Password',
'SIGNATURE_CONTACT' => 'Contact',
'SIGNATURE_LOCATION' => 'Location',
'SIGNATURE_AUTHORITY' => 'Issuer',
'SIGNATURE_DATE' => '04/19/2025 12:15:00.000 PM',
'SIGNATURE_RECT' => new Aspose\PDF\Model\Rectangle(array('llx' => 100, 'lly' => 100, 'urx' => 0, 'ury' => 0))
];
class PdfSignatures {
private $pdfApi;
private $config;
private function _create_rest_api() {
$credentials = json_decode(file_get_contents("./Credentials/credentials.json"), true);
$configAuth = new Configuration();
$configAuth->setAppKey($credentials['key']);
$configAuth->setAppSid($credentials['id']);
$this->pdfApi = new PdfApi(null, $configAuth);
}
public function __construct($config) {
$this->config = $config;
$this->_create_rest_api();
}
public function uploadFile($folder, $fileName) {
$filePath = $folder . DIRECTORY_SEPARATOR . $fileName;
$data = file_get_contents($filePath);
$this->pdfApi->uploadFile($fileName, $data);
echo "File '$fileName' successfully uploaded!\n";
}
public function uploadDocument() {
$this->uploadFile($this->config['LOCAL_FOLDER'], $this->config['PDF_DOCUMENT_NAME']);
}
public function downloadResult() {
$response = $this->pdfApi->downloadFile($this->config['PDF_DOCUMENT_NAME']);
$filePath = $this->config['LOCAL_FOLDER'] . DIRECTORY_SEPARATOR . $this->config['LOCAL_RESULT_DOCUMENT_NAME'];
file_put_contents($filePath, $response->body);
echo "Downloaded: $filePath\n";
}
public function replaceSignature() {
$signature = new \Aspose\PDF\Model\Signature( array(
'authority'=> $this->config['SIGNATURE_AUTHORITY'],
'contact' => $this->config['SIGNATURE_CONTACT'],
'date' => $this->config['SIGNATURE_DATE'],
'form_field_name' => $this->config['SIGNATURE_FORM_FIELD'],
'location' => $this->config['SIGNATURE_LOCATION'],
'password' => $this->config['SIGNATURE_PASSWORD'],
'rectangle' => $this->config['SIGNATURE_RECT'],
'signature_path' => $this->config['SIGNATURE_PFX'],
'signature_type' => \Aspose\PDF\Model\SignatureType::PKCS7,
'visible' => TRUE )
);
$field = new \Aspose\PDF\Model\SignatureField( array(
'page_index' => 1,
'signature' => $signature,
'partial_name' => 'sign1',
'rect' => $this->config['SIGNATURE_RECT'])
);
$response = $this->pdfApi->putSignatureField(
$this->config['PDF_DOCUMENT_NAME'],
$this->config['SIGNATURE_FORM_FIELD'],
$field
);
if ($response->code === 200) {
echo "replaceSignature(): Signature '" . $this->config['SIGNATURE_CONTACT'] . "' successfully replaced.\n";
} else {
echo "replaceSignature(): Failed to replace signature. Code: " . $response->code . "\n";
}
}
}
try {
$signatures = new PdfSignatures($pdfApi, $configParams);
$signatures->uploadFile($configParams['LOCAL_SIGNATURE_PATH'], $configParams['SIGNATURE_PFX']);
$signatures->uploadDocument();
$signatures->replaceSignature();
$signatures->downloadResult();
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
Work with Signature in PDF
Replacing a signature in a PDF is necessary when the original signature becomes outdated, incorrect, or invalid. This process ensures that the document reflects the most accurate and authorized information. Common reasons for replacement include updating signer credentials, correcting errors in the signature details, re-signing after document changes, or switching to a stronger digital certificate for enhanced security and compliance. Replacing the signature helps maintain the document’s authenticity, integrity, and legal validity. Replace Signature in PDF documents with Aspose.PDF Cloud PHP SDK.
With our PHP library you can:
- Add PDF document’s header & footer in text or image format.
- Add tables & stamps (text or image) to PDF documents.
- Append multiple PDF documents to an existing file.
- Work with PDF attachments, annotations, & form fields.
- Apply encryption or decryption to PDF documents & set a password.
- Delete all stamps & tables from a page or entire PDF document.
- Delete a specific stamp or table from the PDF document by its ID.
- Replace single or multiple instances of text on a PDF page or from the entire document.
- Extensive support for converting PDF documents to various other file formats.
- Extract various elements of PDF files & make PDF documents optimized.
- You can try out our free App to test the functionality online.
- Learning Resources
- Documentation
- Source Code
- API References
- Product Support
- Free Support
- Paid Support
- Blog
- Why Aspose.PDF Cloud for PHP?
- Customers List
- Security