
Документи PDF належать до широко використовуваних форматів файлів для обміну інформацією. Зазвичай вони мають конфіденційну та юридичну силу, як, наприклад, договір. Щоб забезпечити цілісність файлів і уникнути підробок, ми додаємо цифрові підписи. Це також гарантує, що документ не був змінений кимось, крім його автора, і перевіряє, що автор є тим, кого ми очікуємо, а не кимось іншим.
Цифровий підпис у PDF є еквівалентом чорнильного підпису на паперовому документі, але він набагато безпечніший. Ця частина інформації розміщується в документі, і популярні читачі PDF можуть перевірити, чи документ не було змінено невідомою особою. У цій статті ми збираємося обговорити деталі того, як цифрово підписувати PDF-документи онлайн у PHP.
- API доступу за допомогою команди cURL
- API доступу через PHP SDK
- Прочитайте поле для підпису
- Додайте поля підпису за допомогою PHP
API доступу за допомогою команди cURL
Наші API створено відповідно до принципів архітектури REST, тому до них також можна отримати доступ за допомогою команд cURL. Зверніть увагу, що наші API доступні лише авторизованим особам, тому перед тим, як отримати доступ до API, вам потрібно спочатку відвідати інформаційну панель Aspose.Cloud і, якщо у вас є обліковий запис GitHub або Google, просто зареєструватися. В іншому випадку натисніть кнопку Створити новий обліковий запис і надайте необхідну інформацію. Тепер увійдіть на інформаційну панель, використовуючи облікові дані, розгорніть розділ «Програми» на інформаційній панелі та прокрутіть униз до розділу «Облікові дані клієнта», щоб переглянути дані про ідентифікатор клієнта та секрет клієнта.
Тепер наступним кроком є створення JSON Web Token (JWT), щоб API були доступні через командний рядок. Той самий маркер JWT використовується для доступу до API за допомогою команд cURL.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
API доступу через PHP SDK
Щоб полегшити роботу наших клієнтів PHP, які бажають програмно обробляти PDF-файли за допомогою PHP-коду, ми розробили Aspose.PDF Cloud SDK для PHP, який є оболонкою для Aspose.PDF Cloud API. Ми можемо використовувати той самий SDK для обробки цифрових підписів і виконання відповідних операцій. SDK доступний для завантаження з Composer і GitHub.
Зараз ми обговоримо кроки встановлення Aspose.PDF Cloud SDK для PHP через композитор. Ми вже знаємо, що Composer рекомендовано використовувати з SDK і для керування залежностями вашого проекту. Отже, коли ми налаштували композитор у вашій системі, спробуйте скористатися такою командою, щоб установити Aspose.PDF Cloud SDK для PHP.
composer require aspose/pdf-sdk-php
Читайте поля підпису
API дає змогу читати властивості, пов’язані з полями підпису, які вже є в документах PDF. Щоб прочитати поле підпису, ви маєте два варіанти.
- Читання полів підпису з певної сторінки документа за допомогою API GetPageSignatureFields
- Прочитайте поле підпису документа за назвою за допомогою API GetSignatureField.
Щоб прочитати поля підпису з певної сторінки документа, спробуйте скористатися такою командою cURL. Зауважте, що в наведеній нижче команді BlankWithSignature.pdf є вихідним PDF-файлом:
curl -X GET "https://api.aspose.cloud/v3.0/pdf/BlankWithSignature.pdf/page/1/fields/signature" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Тепер, щоб прочитати властивості, пов’язані з певним полем підпису над документом, будь ласка, спробуйте скористатися такою командою, де ми надаємо ім’я певного поля підпису як аргумент.
curl -X GET "https://api.aspose.cloud/v3.0/pdf/BlankWithSignature.pdf/fields/signature/Signature1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Наведені нижче деталі та кроки пояснюють, як ми можемо отримати деталі поля підпису з певних сторінок PDF-документів за допомогою коду PHP.
protected $pdfApi;
// Отримайте ключ додатка та SID додатка з https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// об'єкт конфігурації
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// створити екземпляр PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// назва вхідного документа PDF
$name = 'BlankWithSignature.pdf';
// завантажити файл у хмарне сховище
$this->uploadFile($name);
// номер сторінки в документі
$pageNumber = 1;
// виклик методу API для отримання полів підпису з документа
$response = $this->pdfApi->getPageSignatureFields($name, $pageNumber, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Наведений код показує, як можна отримати інформацію для певних полів підпису у файлі PDF.
protected $pdfApi;
// Отримайте ключ додатка та SID додатка з https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// об'єкт конфігурації
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// створити екземпляр PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// назва вхідного документа PDF
$name = 'BlankWithSignature.pdf';
// завантажити PDF в хмарне сховище
$this->uploadFile($name);
// поле підпису для отримання інформації
$fieldName = 'Signature1';
// виклик API для отримання деталей поля підпису
$response = $this->pdfApi->getSignatureField($name, $fieldName, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Додайте поля підпису за допомогою PHP
Aspose.PDF Cloud SDK для PHP також пропонує можливості додавати поля підпису до документа PDF. Наведений нижче фрагмент коду дає змогу додати поле підпису до PDF-файлу.

protected $pdfApi;
// Отримайте ключ додатка та SID додатка з https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// об'єкт конфігурації
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// створити екземпляр PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// назва вхідного документа PDF
$name = 'BlankWithSignature.pdf';
// завантажити файл у хмарне сховище
$this->uploadFile($name);
$signatureFileName = '33226.p12';
$this->uploadFile($signatureFileName);
$folder = $this->tempFolder;
$signature = new Aspose\PDF\Model\Signature();
$signature->setAuthority('Nayyer Shahbaz');
$signature->setContact('nayyer.shahbaz@aspose.com');
$signature->setDate('08/01/2012 12:15:00.000 PM');
$signature->setFormFieldName('Signature1');
$signature->setLocation('Australia');
$signature->setPassword('sIikZSmz');
$signature->setRectangle(new Aspose\PDF\Model\Rectangle(['llx' => 100, 'lly' => 100, 'urx' => 0, 'ury' => 0]));
$signature->setSignaturePath($folder . '/' . $signatureFileName);
$signature->setSignatureType(Aspose\PDF\Model\SignatureType::PKCS7);
$signature->setVisible(true);
$signature->setShowProperties(false);
$field = new Aspose\PDF\Model\SignatureField();
$field->setPartialName('sign1');
// індекс сторінки, куди потрібно додати поле підпису
$field->setPageIndex(1);
$field->setSignature($signature);
// вкажіть прямокутну область для поля Підпис
$field->setRect(new Aspose\PDF\Model\Rectangle(['llx' => 100, 'lly' => 100, 'urx' => 160, 'ury' => 140]));
// викликати API, щоб додати поле підпису
$response = $this->pdfApi->postSignatureField($name, $field, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Висновок
У цьому блозі ми обговорювали концепції роботи з цифровими підписами в документах PDF. Ми дізналися, як отримати інформацію, пов’язану з існуючими полями підпису, а також як додати нові поля підпису в документ. Зверніть увагу, що Aspose.PDF Cloud SDK для PHP є відкритим вихідним кодом, і повний вихідний код можна завантажити з репозиторію GitHub.
Спробуйте скористатися нашими API, а якщо у вас виникнуть проблеми, зв’яжіться через безкоштовні форуми підтримки клієнтів.