Згенеруйте QR-код для підпису PDF за допомогою REST API у PHP.

QR-код (код швидкого відповіді) — це тип машинозчитуваного матричного штрих-коду у вигляді масиву чорних і білих квадратів. Це оптична етикетка, яка містить інформацію, яку можна зчитувати за допомогою QR-зчитувача. Ми можемо генерувати QR-коди програмним шляхом і підписувати документи та зображення в хмарі. У цій статті ми дізнаємося, як створити QR-код для підпису PDF-документів за допомогою REST API у PHP.

У цій статті будуть розглянуті такі теми:

Генератор QR-коду REST API та PHP SDK

Для створення QR-кодів для підпису PDF документів ми будемо використовувати API PHP SDK GroupDocs.Signature Cloud. Він дозволяє створювати, перевіряти та здійснювати пошук різних типів підписів, таких як зображення, штрих-код, QR-код, текстові підписи, цифрові підписи та підписи на штампі. Він підтримує такі типи QR-кодів:

  • Кодекс ацтеків
  • Код DataMatrix
  • GS1 DataMatrix
  • GS1 QR
  • QR

Встановіть його за допомогою такої команди в консолі:

composer require groupdocscloud/groupdocs-signature-cloud

Після інсталяції використовуйте автозавантаження Composers, щоб використовувати SDK, як показано нижче:

require_once('vendor/autoload.php');

Будь ласка, отримайте свій ідентифікатор клієнта та секрет з інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

// Цей приклад коду демонструє, як додати свій ідентифікатор клієнта та секрет у код.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Ініціалізуйте конфігурацію
$configuration = new GroupDocs\Signature\Configuration();

// Налаштування конфігурацій
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Згенеруйте QR-код для підпису PDF за допомогою REST API у PHP

Ми можемо створити QR-код для підпису PDF-документів у хмарі, виконавши прості кроки, наведені нижче:

Завантажте документ

По-перше, ми завантажимо PDF-документ у хмару за допомогою прикладу коду, наведеного нижче:

// Цей приклад коду демонструє, як завантажити PDF-файл у хмару.
// Ініціалізувати API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Вхідний шлях до файлу
$file = "C:\\Files\\Signature\\sample.pdf";

// Запит на завантаження файлу
$request = new GroupDocs\Signature\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Завантажити файл
$response = $apiInstance->uploadFile($request);

У результаті завантажений PDF-файл буде доступний у розділі файлів інформаційної панелі в хмарі.

Згенеруйте QR-код для підпису PDF-файлу в PHP

Ми можемо створити QR-код програмним шляхом і підписати завантажений PDF-документ, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр SignApi.
  2. Далі вкажіть шлях до вхідного файлу PDF.
  3. Потім встановіть вихідний шлях до файлу.
  4. Далі ініціалізуйте об’єкт SignQRCodeOptions.
  5. Потім встановіть QRCodeType на «QR». Крім того, встановіть текст і його положення.
  6. За бажанням можна встановити такі параметри, як Сторінка, Кут повороту, Горизонтальне вирівнювання, Межа, Відступ тощо.
  7. Після цього створіть createSignaturesRequest із визначеними SignSettings.
  8. Нарешті, отримуйте результати, викликавши метод createSignatures().

У наведеному нижче прикладі коду показано, як створити QR-код і підписати PDF-документ за допомогою REST API у PHP.

// Цей приклад коду демонструє, як створити QR-код для підпису PDF-документа.
// Примірник SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Визначте SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Визначте параметри підпису QR-коду
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("QR");
$options->setText("This is sample QR.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// колір
$color = new GroupDocs\Signature\Model\колір();
$color->setWeb("Black");

// Кордон
$border = new GroupDocs\Signature\Model\КордонLine();
$border->setколір($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setКордон($border);

// Підкладка
$padding = new GroupDocs\Signature\Model\Підкладка();
$padding->setAll(5);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Створити запит на підпис
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Створення підписів
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Згенеруйте QR-код для підпису PDF за допомогою REST API у PHP.

Згенеруйте QR-код для підпису PDF за допомогою REST API у PHP.

Завантажте PDF, підписаний QR-кодом

Наведений вище зразок коду збереже підписаний PDF-файл у хмарі. Його можна завантажити за допомогою наступного зразка коду:

// Цей приклад коду демонструє, як завантажити PDF-файл із хмари.
// Ініціалізувати API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Запит на завантаження файлу
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);

// Завантажити файл
$response = $apiInstance->downloadFile($request);

Згенеруйте код Aztec для підпису PDF у PHP

Код Aztec — це найпростіший для друку та сканування двовимірний (2D) QR-код. Ми можемо згенерувати код Aztec для підпису завантаженого PDF-документа, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити QRCodeType на «Aztec».

У наведеному нижче прикладі коду показано, як створити код Aztec і підписати PDF-документ за допомогою REST API у PHP.

// Цей приклад коду демонструє, як створити код Aztec у PHP.
// Примірник SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Визначте SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Визначте параметри підпису QR-коду
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("Aztec");
$options->setText("This is a sample Aztec QR code.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// Колір
$color = new GroupDocs\Signature\Model\Колір();
$color->setWeb("Black");

// Кордон
$border = new GroupDocs\Signature\Model\КордонLine();
$border->setКолір($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setКордон($border);

// Підкладка
$padding = new GroupDocs\Signature\Model\Підкладка();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Створити запит на підпис
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Створення підписів
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Згенеруйте QR-код Aztec для підпису PDF-файлів у PHP.

Згенеруйте код Aztec для підпису PDF у PHP.

Створіть код DataMatrix для підпису PDF у PHP

Ми також можемо створити код DataMatrix, виконуючи кроки, згадані раніше. Однак нам просто потрібно встановити QRCodeType на «DataMatrix».

У наведеному нижче прикладі коду показано, як створити код DataMatrix і підписати PDF-документ за допомогою REST API у PHP.

// Цей приклад коду демонструє, як створити код DataMatrix у PHP.
// Примірник SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Визначте SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Визначте параметри підпису QR-коду
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("DataMatrix");
$options->setText("This is a sample DataMatrix QR code.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// колір
$color = new GroupDocs\Signature\Model\колір();
$color->setWeb("Black");

// Кордон
$border = new GroupDocs\Signature\Model\КордонLine();
$border->setколір($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setКордон($border);

// Підкладка
$padding = new GroupDocs\Signature\Model\Підкладка();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Створити запит на підпис
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Створення підписів
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Створіть QR-код DataMatrix для підпису PDF у PHP.

Створіть код DataMatrix для підпису PDF у PHP.

Перевірте підписи QR-коду в PHP

Ви можете легко перевірити згенеровані підписи QR-коду, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр SignApi.
  2. Встановіть шлях до файлу PDF.
  3. Визначте параметри VerifyQRCode.
  4. Укажіть тип підпису, текст і код.
  5. Визначте VerifySettings і призначте VerifyQRCodeOptions для VerifySettings.
  6. Після цього створіть VerifySignatureRequest з VerifySettings.
  7. Нарешті, отримуйте результати, викликавши метод verifySignatures().

У наведеному нижче прикладі коду показано, як перевірити підписи QR-коду за допомогою REST API у PHP.

// Цей приклад коду демонструє, як перевірити підписи QR-коду.
// Примірник SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("QR_out.pdf");

// Визначте параметри перевірки
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);

// Визначте параметри перевірки QR-коду
$options = new GroupDocs\Signature\Model\VerifyQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("QR");
$options->setText("This is sample QR.");

$settings->setOptions([$options]);

// Перевірити запит на підписи
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);

// Перевірити підписи
$response = $apiInstance->verifySignatures($request);

echo "Response: ", $response;

Спробуйте онлайн

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент для підписання PDF-файлів, розроблений за допомогою вищезгаданого API. https://products.groupdocs.app/signature/pdf

Висновок

У цій статті ми дізналися, як:

  • генерувати QR-код на PHP;
  • підписати PDF-документ QR-кодом у PHP;
  • перевірити е-підписи в PHP;
  • програмно завантажити PDF-файл у хмару;
  • завантажити підписаний файл PDF із хмари.

Крім того, ви можете дізнатися більше про GroupDocs.Signature Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також