PNG JPG BMP TIFF PDF
Aspose.PDF  for PHP

在PHP SDK中替换PDF中的签名

使用云端PHP SDK替换PDF文档中的签名

Get Started

如何通过云端PHP SDK替换PDF中的签名

要在PDF中替换签名,我们将使用 Aspose.PDF Cloud PHP SDK 这个云端SDK帮助PHP程序员使用Aspose.PDF REST API开发基于云的PDF创建、注释、编辑和转换应用程序。只需在Aspose for Cloud上创建一个账户并获取您的应用信息。一旦您拥有App SID和密钥,您就可以使用Aspose.PDF Cloud PHP SDK。

Package Manager Console Command

     
    composer install

通过云端PHP替换PDF签名的步骤

Aspose.PDF Cloud开发者可以轻松地在几行代码中加载和替换PDF中的签名。

  1. 上传PDF文档
  2. 从Aspose.PDF云存储中下载应用签名的PDF文档。
  3. 将指定的签名应用到PDF文档。
 

使用PHP替换PDF中的签名


    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";
    }
 

在PDF中处理签名

当原始签名过期、不正确或无效时,需要在PDF中替换签名。此过程确保文档反映最准确和授权的信息。替换的常见原因包括更新签名者凭据、纠正签名详细信息中的错误、在文档更改后重新签名或切换到更强的数字证书以增强安全和合规性。替换签名有助于保持文档的真实性、完整性和法律效力。 使用Aspose.PDF Cloud PHP SDK替换PDF文档中的签名。

使用我们的PHP库,您可以:

  • 添加PDF文档的文本或图像格式的页眉和页脚。
  • 向PDF文档添加表格和印章(文本或图像)。
  • 将多个PDF文档追加到现有文件。
  • 处理PDF附件、注释和表单字段。
  • 对PDF文档进行加密或解密并设置密码。
  • 从页面或整个PDF文档中删除所有印章和表格。
  • 根据ID从PDF文档中删除特定的印章或表格。
  • 在PDF页面或整个文档中替换单个或多个实例的文本。
  • 广泛支持将PDF文档转换为各种其他文件格式。
  • 提取PDF文件的各种元素并优化PDF文档。
  • 您可以尝试我们的免费应用在线测试功能。