QR コード (クイック レスポンス コード) は、白と黒の正方形の配列の形式をした機械可読マトリックス バーコードの一種です。 QRリーダーで読み取り可能な情報を記載した光学式ラベルです。プログラムで QR コードを生成し、クラウド上のドキュメントや画像に署名できます。この記事では、PHP の REST API を使用して PDF ドキュメントに署名するための QR コードを生成する方法を学びます。
この記事では次のトピックについて説明します。
- QR コード生成 REST API および PHP SDK
- PHP で PDF に署名するための QR コードを生成する
- PHP で PDF に署名するための Aztec QR コードを生成する
- PHP で PDF に署名するための DataMatrix QR コードを作成する
- PHP での 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に署名するための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 ドキュメントに署名できます。
- まず、SignApi のインスタンスを作成します。
- 次に、入力 PDF ファイルのパスを指定します。
- 次に、出力ファイルのパスを設定します。
- 次に、SignQRCodeOptions オブジェクトを初期化します。
- 次に、QRCodeType を「QR」に設定します。さらに、テキストとその位置を設定します。
- 必要に応じて、Page、RotationAngle、horizontalAlignment、Border、Padding などのオプションを設定します。
- その後、定義された SignSettings を使用して createSignaturesRequest を作成します。
- 最後に、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();
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 に署名するための 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 での QR コード署名の検証
以下の手順に従って、生成された QR コード署名を簡単に検証できます。
- まず、SignApi のインスタンスを作成します。
- PDFファイルのパスを設定します。
- VerifyQRCodeOptions を定義します。
- 署名のタイプ、テキスト、コードを指定します。
- VerifySettings を定義し、VerifyQRCodeOptions を VerifySettings に割り当てます。
- その後、VerifySettings で VerifySignatureRequest を作成します。
- 最後に、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 リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。