PHP の REST API を使用して PDF に署名するための QR コードを生成します。

QR コード (クイック レスポンス コード) は、白と黒の正方形の配列の形式をした機械可読マトリックス バーコードの一種です。 QRリーダーで読み取り可能な情報を記載した光学式ラベルです。プログラムで QR コードを生成し、クラウド上のドキュメントや画像に署名できます。この記事では、PHP の REST API を使用して PDF ドキュメントに署名するための QR コードを生成する方法を学びます。

この記事では次のトピックについて説明します。

QR コード生成 REST API および PHP SDK

PDF ドキュメントに署名するための QR コードを生成するには、GroupDocs.Signature Cloud の PHP SDK API を使用します。画像、バーコード、QR コード、テキストベース、デジタル、スタンプ署名など、さまざまなタイプの署名を作成、検証、検索できます。次の QR コード タイプをサポートしています。

  • アステカコード
  • データマトリックスコード
  • GS1 データマトリックス
  • GS1QR
  • QR

コンソールで次のコマンドを使用してインストールしてください。

composer require groupdocscloud/groupdocs-signature-cloud

インストール後、以下に示すように Composers の autoload を使用して SDK を使用してください。

require_once('vendor/autoload.php');

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

// このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
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);

PHP の REST API を使用して PDF に署名するための QR コードを生成する

以下に説明する簡単な手順に従って、クラウド上で PDF ドキュメントに署名するための QR コードを生成できます。

ドキュメントをアップロードする

まず、以下に示すコードサンプルを使用して、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 ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

PHP で PDF に署名するための QR コードを生成する

以下の手順に従って、プログラムで QR コードを生成し、アップロードされた PDF ドキュメントに署名できます。

  1. まず、SignApi のインスタンスを作成します。
  2. 次に、入力 PDF ファイルのパスを指定します。
  3. 次に、出力ファイルのパスを設定します。
  4. 次に、SignQRCodeOptions オブジェクトを初期化します。
  5. 次に、QRCodeType を「QR」に設定します。さらに、テキストとその位置を設定します。
  6. 必要に応じて、Page、RotationAngle、horizontalAlignment、Border、Padding などのオプションを設定します。
  7. その後、定義された SignSettings を使用して createSignaturesRequest を作成します。
  8. 最後に、createSignatures() メソッドを呼び出して結果を取得します。

次のコード サンプルは、PHP の REST API を使用して QR コードを生成し、PDF ドキュメントに署名する方法を示しています。

// このコード例は、PDF ドキュメントに署名するための QR コードを生成する方法を示します。
// SignatureAPI インスタンス
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// 入力ファイルパス
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 署名設定の定義
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// 保存オプションの定義
$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();
PHP の REST API を使用して PDF に署名するための QR コードを生成します。

PHP の REST API を使用して PDF に署名するための QR コードを生成します。

QRコードで署名されたPDFをダウンロード

上記のコード サンプルは、署名された 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);

PHP で PDF に署名するための Aztec コードを生成する

アステカ コードは、印刷とスキャンが最も簡単な 2 次元 (2D) QR コードです。前述の手順に従って、アップロードされた PDF ドキュメントに署名するための Aztec コードを生成できます。ただし、QRCodeType を「Aztec」に設定するだけです。

次のコード サンプルは、PHP の REST API を使用して Aztec コードを生成し、PDF ドキュメントに署名する方法を示しています。

// このコード例は、PHP で Aztec コードを生成する方法を示します。
// SignatureAPI インスタンス
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// 入力ファイルパス
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 署名設定の定義
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// 保存オプションの定義
$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();
PHP で PDF に署名するための Aztec QR コードを生成します。

PHP で PDF に署名するための Aztec コードを生成します。

PHP で PDF に署名するための DataMatrix コードを作成する

前述の手順に従って DataMatrix コードを生成することもできます。ただし、QRCodeType を「DataMatrix」に設定するだけです。

次のコード サンプルは、PHP の REST API を使用して DataMatrix コードを生成し、PDF ドキュメントに署名する方法を示しています。

// このコード例は、PHP で DataMatrix コードを生成する方法を示します。
// SignatureAPI インスタンス
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// 入力ファイルパス
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 署名設定の定義
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// 保存オプションの定義
$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();
PHP で PDF に署名するための DataMatrix QR コードを作成します。

PHP で PDF に署名するための DataMatrix コードを作成します。

PHP での QR コード署名の検証

以下の手順に従って、生成された QR コード署名を簡単に検証できます。

  1. まず、SignApi のインスタンスを作成します。
  2. PDFファイルのパスを設定します。
  3. VerifyQRCodeOptions を定義します。
  4. 署名のタイプ、テキスト、コードを指定します。
  5. VerifySettings を定義し、VerifyQRCodeOptions を VerifySettings に割り当てます。
  6. その後、VerifySettings で VerifySignatureRequest を作成します。
  7. 最後に、verifySignatures() メソッドを呼び出して結果を取得します。

次のコード サンプルは、PHP の REST API を使用して QR コード署名を検証する方法を示しています。

// このコード例は、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;

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン PDF 署名ツールをお試しください。 https://products.groupdocs.app/signature/pdf

結論

この記事では、次の方法を学びました。

  • PHP で QR コードを生成します。
  • PHP で QR コードを使用して PDF ドキュメントに署名します。
  • PHP で電子署名を検証します。
  • プログラムで PDF ファイルをクラウドにアップロードします。
  • 署名された PDF ファイルをクラウドからダウンロードします。

さらに、GroupDocs.Signature Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目