کد QR را برای امضای PDF با استفاده از REST API در PHP ایجاد کنید.

کد QR (کد پاسخ سریع) نوعی بارکد ماتریس قابل خواندن توسط ماشین به شکل آرایه ای از مربع های سیاه و سفید است. این یک برچسب نوری است که حاوی اطلاعات قابل خواندن با استفاده از یک خواننده QR است. ما می‌توانیم کدهای QR را به صورت برنامه‌نویسی تولید کنیم و اسناد و تصاویر را در فضای ابری امضا کنیم. در این مقاله، نحوه تولید یک کد QR برای امضای اسناد PDF با استفاده از REST API در PHP را خواهیم آموخت.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

QR Code Generator REST API و PHP SDK

برای ایجاد کدهای QR برای امضای اسناد PDF، از PHP SDK of GroupDocs.Signature Cloud API استفاده خواهیم کرد. این امکان ایجاد، تأیید و جستجوی انواع مختلفی از امضاها مانند تصویر، بارکد، کد QR، امضاهای مبتنی بر متن، دیجیتال و مهر را فراهم می کند. از انواع کد QR زیر پشتیبانی می کند:

  • کد آزتک
  • کد دیتا ماتریکس
  • GS1 DataMatrix
  • GS1 QR
  • QR

لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

composer require groupdocscloud/groupdocs-signature-cloud

پس از نصب، لطفاً از Composers’ autoload برای استفاده از SDK مطابق شکل زیر استفاده کنید:

require_once('vendor/autoload.php');

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 4 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

// این مثال کد نشان می دهد که چگونه شناسه مشتری و رمز خود را در کد اضافه کنید.
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 آپلود شده در بخش فایل ها داشبورد در فضای ابری در دسترس خواهد بود.

برای ثبت PDF در PHP کد QR ایجاد کنید

ما می‌توانیم کد 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);

// گزینه های Sign QR code را تعریف کنید
$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);

کد آزتک را برای ثبت PDF در PHP ایجاد کنید

کد آزتک آسان‌ترین کد QR دو بعدی (2 بعدی) با چاپ و اسکن آسان است. ما می‌توانیم کد آزتک را برای امضای سند پی‌دی‌اف آپلود شده با دنبال کردن مراحل ذکر شده تولید کنیم. با این حال، ما فقط باید QRCodeType را روی “Aztec” تنظیم کنیم.

نمونه کد زیر نحوه تولید کد آزتک و امضای سند PDF را با استفاده از REST API در PHP نشان می دهد.

// این مثال کد نحوه تولید کد آزتک در 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);

// گزینه های Sign QR code را تعریف کنید
$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 آزتک را برای ثبت PDF در PHP ایجاد کنید.

کد آزتک را برای ثبت 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);

// گزینه های Sign QR code را تعریف کنید
$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 ایجاد کنید.

Verify QR Code Signatures in PHP

You can easily verify the generated QR code signatures by following the steps given below:

  1. ابتدا یک نمونه از SignApi ایجاد کنید.
  2. مسیر فایل PDF را تنظیم کنید.
  3. VerifyQRCodeOptions را تعریف کنید.
  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‌های ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هر گونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید12.

همچنین ببینید