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。

包管理器控制台命令

     
    composer install

通过云端PHP添加签名到PDF的步骤

Aspose.PDF Cloud开发人员可以轻松地在几行代码中加载并添加签名到PDF。

  1. 上传PDF文档
  2. 上传配置中指定的PDF文档
  3. 下载PDF文档处理的结果并保存到指定位置
  4. 将数字签名附加到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 appenSignature() {
            $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->postSignatureField(
                $this->config['PDF_DOCUMENT_NAME'],
                $field
            );

            if ($response->code === 200) {
                echo "appenSignature(): Signature '" . $this->config['SIGNATURE_CONTACT'] . "' successfully replaced.\n";
            } else {
                echo "appenSignature(): 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->appenSignature();
        $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文档。
  • 您可以尝试我们的免费应用在线测试功能。