Tạo mã QR để ký PDF bằng API REST trong PHP.

Mã QR (Mã phản hồi nhanh) là một loại mã vạch Ma trận có thể đọc được bằng máy ở dạng một mảng ô vuông đen trắng. Đó là nhãn quang chứa thông tin có thể đọc được bằng đầu đọc QR. Chúng tôi có thể tạo mã QR theo chương trình và ký các tài liệu và hình ảnh trên đám mây. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo mã QR để ký tài liệu PDF bằng API REST trong PHP.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

Trình tạo mã QR API REST và PHP SDK

Để tạo mã QR để ký tài liệu PDF, chúng tôi sẽ sử dụng PHP SDK của GroupDocs.Signature Cloud API. Nó cho phép tạo, xác minh và tìm kiếm các loại chữ ký khác nhau như hình ảnh, ‎mã vạch, QR-Code, chữ ký dựa trên văn bản, kỹ thuật số và tem. Nó hỗ trợ các loại mã QR sau:

  • Mã Aztec
  • Mã ma trận dữ liệu
  • Ma trận dữ liệu GS1
  • GS1 QR
  • QR

Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

composer require groupdocscloud/groupdocs-signature-cloud

Sau khi cài đặt, vui lòng sử dụng Composers’ autoload để sử dụng SDK như hình bên dưới:

require_once('vendor/autoload.php');

Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

// Ví dụ về mã này trình bày cách thêm ID khách hàng và bí mật của bạn vào mã.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Khởi tạo cấu hình
$configuration = new GroupDocs\Signature\Configuration();

// Đặt cấu hình
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Tạo mã QR để ký PDF bằng API REST trong PHP

Chúng tôi có thể tạo mã QR để ký tài liệu PDF trên đám mây bằng cách thực hiện theo các bước đơn giản được đề cập bên dưới:

Tải lên tài liệu

Đầu tiên, chúng tôi sẽ tải tài liệu PDF lên đám mây bằng cách sử dụng mẫu mã được cung cấp bên dưới:

// Ví dụ mã này trình bày cách tải tệp PDF lên đám mây.
// Khởi tạo api
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Đường dẫn tệp đầu vào
$file = "C:\\Files\\Signature\\sample.pdf";

// Tải lên yêu cầu tập tin
$request = new GroupDocs\Signature\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Cập nhật dử liệu
$response = $apiInstance->uploadFile($request);

Do đó, tệp PDF đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.

Tạo mã QR để ký PDF bằng PHP

Chúng tôi có thể tạo mã QR theo chương trình và ký vào tài liệu PDF đã tải lên bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của SignApi.
  2. Tiếp theo, cung cấp đường dẫn tệp PDF đầu vào.
  3. Sau đó, đặt đường dẫn tệp đầu ra.
  4. Tiếp theo, khởi tạo đối tượng SignQRCodeOptions.
  5. Sau đó, đặt QRCodeType thành “QR”. Hơn nữa, đặt văn bản và vị trí của nó.
  6. Tùy chọn, đặt các tùy chọn như Trang, Góc xoay, Căn chỉnh ngang, Đường viền, Đệm, v.v.
  7. Sau đó, tạo createSignaturesRequest với SignSettings đã xác định.
  8. Cuối cùng, nhận kết quả bằng cách gọi phương thức createSignatures().

Mẫu mã sau đây cho biết cách tạo mã QR và ký tài liệu PDF bằng API REST trong PHP.

// Ví dụ mã này trình bày cách tạo mã QR để ký tài liệu PDF.
// Phiên bản API chữ ký
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Xác định SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Xác định các tùy chọn mã QR của Sign
$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);

// Màu sắc
$color = new GroupDocs\Signature\Model\Màu sắc();
$color->setWeb("Black");

// Ranh giới
$border = new GroupDocs\Signature\Model\Ranh giớiLine();
$border->setMàu sắc($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setRanh giới($border);

// đệm
$padding = new GroupDocs\Signature\Model\đệm();
$padding->setAll(5);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

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

// Tạo yêu cầu chữ ký
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Tạo chữ ký
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Tạo mã QR để ký PDF bằng API REST trong PHP.

Tạo mã QR để ký PDF bằng API REST trong PHP.

Tải xuống bản PDF được ký bằng mã QR

Mẫu mã trên sẽ lưu tệp PDF đã ký trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

// Ví dụ mã này trình bày cách tải xuống tệp PDF từ đám mây.
// Khởi tạo api
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Tải xuống tệp yêu cầu
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);

// Tải tập tin
$response = $apiInstance->downloadFile($request);

Tạo mã Aztec để ký PDF bằng PHP

Mã Aztec là mã QR hai chiều (2D) dễ in và dễ quét nhất. Chúng tôi có thể tạo mã Aztec để ký tài liệu PDF đã tải lên bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đặt QRCodeType thành “Aztec”.

Mẫu mã sau đây cho biết cách tạo mã Aztec và ký tên vào tài liệu PDF bằng API REST trong PHP.

// Ví dụ mã này trình bày cách tạo mã Aztec trong PHP.
// Phiên bản API chữ ký
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Xác định SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Xác định các tùy chọn mã QR của Sign
$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);

// Màu sắc
$color = new GroupDocs\Signature\Model\Màu sắc();
$color->setWeb("Black");

// Ranh giới
$border = new GroupDocs\Signature\Model\Ranh giớiLine();
$border->setMàu sắc($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setRanh giới($border);

// đệm
$padding = new GroupDocs\Signature\Model\đệm();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

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

// Tạo yêu cầu chữ ký
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Tạo chữ ký
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Tạo mã QR Aztec để ký PDF bằng PHP.

Tạo mã Aztec để ký PDF bằng PHP.

Tạo mã DataMatrix để ký PDF bằng PHP

Chúng tôi cũng có thể tạo mã DataMatrix bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đặt QRCodeType thành “DataMatrix”.

Mẫu mã sau đây cho biết cách tạo mã DataMatrix và ký vào tài liệu PDF bằng API REST trong PHP.

// Ví dụ mã này trình bày cách tạo mã DataMatrix trong PHP.
// Phiên bản API chữ ký
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Xác định SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Xác định các tùy chọn mã QR của Sign
$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);

// Màu sắc
$color = new GroupDocs\Signature\Model\Màu sắc();
$color->setWeb("Black");

// Ranh giới
$border = new GroupDocs\Signature\Model\Ranh giớiLine();
$border->setMàu sắc($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setRanh giới($border);

// đệm
$padding = new GroupDocs\Signature\Model\đệm();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

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

// Tạo yêu cầu chữ ký
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Tạo chữ ký
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Tạo mã QR DataMatrix để ký PDF bằng PHP.

Tạo mã DataMatrix để ký PDF bằng PHP.

Xác minh chữ ký mã QR trong PHP

Bạn có thể dễ dàng xác minh chữ ký mã QR được tạo bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của SignApi.
  2. Đặt đường dẫn tệp PDF.
  3. Xác định VerifyQRCodeOptions.
  4. Cung cấp Loại Chữ ký, Văn bản và Mã.
  5. Xác định VerifySettings và gán VerifyQRCodeOptions cho VerifySettings.
  6. Sau đó, tạo VerifySignatureRequest với VerifySettings.
  7. Cuối cùng, nhận kết quả bằng cách gọi phương thức verifySignatures().

Mẫu mã sau đây cho biết cách xác minh chữ ký mã QR bằng API REST trong PHP.

// Ví dụ mã này trình bày cách xác minh chữ ký mã QR.
// Phiên bản API chữ ký
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("QR_out.pdf");

// Xác định cài đặt xác minh
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);

// Xác định các tùy chọn mã QR xác minh
$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]);

// Xác nhận yêu cầu chữ ký
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);

// xác minh chữ ký
$response = $apiInstance->verifySignatures($request);

echo "Response: ", $response;

Thử trực tuyến

Vui lòng dùng thử công cụ chữ ký PDF trực tuyến miễn phí sau đây, được phát triển bằng cách sử dụng API ở trên. https://products.groupdocs.app/signature/pdf

Phần kết luận

Trong bài viết này, chúng ta đã học cách:

  • tạo mã QR trong PHP;
  • ký tài liệu PDF bằng mã QR trong PHP;
  • xác minh chữ ký điện tử trong PHP;
  • lập trình tải tệp PDF lên đám mây;
  • tải xuống tệp PDF đã ký từ đám mây.

Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Signature Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham chiếu API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm