クラウド上でプログラム的に QR コードを使用して PDF ドキュメントに電子署名できます。デジタル署名は、特定の規制の要件に準拠している限り、手書きの署名と同じ法的地位を提供します。この記事では、Python の REST API を使用して PDF ドキュメントに QR コードで署名する方法に焦点を当てます。
この記事では次のトピックについて説明します。
ドキュメント署名 REST API および Python SDK
電子署名 PDF には、GroupDocs.Signature Cloud の Python SDK API を使用します。これを使用すると、サポートされているファイル形式のポータブルまたは単純なドキュメント、スプレッドシート、プレゼンテーション、および画像でさまざまなタイプの署名を作成、検証、検索できます。また、クラウド API の ドキュメント署名ファミリー メンバー として、.NET、Java、PHP、Android、Ruby、および Node.js SDK も提供します。
コンソールで次のコマンドを使用して、pip (Python 用パッケージ インストーラー) を使用して GroupDocs.Signature Cloud を Python プロジェクトにインストールできます。
pip install groupdocs_signature_cloud
手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。以下に示すように、コードに ID とシークレットを追加します。
client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
configuration = groupdocs_signature_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Python の REST API を使用して PDF ドキュメントに署名する
以下の簡単な手順に従って、QR コードを使用して PDF ドキュメントに署名できます。
- PDFファイルをクラウドにアップロード
- Python で PDF ドキュメントに署名
- ダウンロード 結果のファイル
ドキュメントをアップロードする
まず、以下のコード例を使用して、PDF ドキュメントをクラウドにアップロードします。
# APIの初期化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)
# サンプルファイルをアップロードする
request = groupdocs_signature_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)
その結果、アップロードされた PDF ファイル (sample.pdf) は、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Python を使用して QR コードを使用して PDF ドキュメントに署名する
PDF ファイルにプログラムで署名するには、以下の手順に従ってください。
- SignApi のインスタンスを作成する
- PDFファイルのパスを設定する
- SignQRCodeオプションの定義
- 署名の種類、テキスト、コードを設定する
- 署名位置を設定する
- 署名設定の定義
- SignQRCodeOptions と SaveOptions を SignSettings に割り当てる
- CreateSignaturesRequest の作成
- SignApi.create\signatures() メソッドを呼び出して結果を取得します
次のコード スニペットは、REST API を使用して PDF ドキュメントに署名する方法を示しています。
# APIの初期化
api = groupdocs_signature_cloud.SignApi.from_keys(client_id, client_secret)
fileInfo = groupdocs_signature_cloud.FileInfo()
fileInfo.file_path = "sample.pdf"
opts = groupdocs_signature_cloud.SignQRCodeOptions()
opts.signature_type = 'QRCode'
opts.text = 'GroupDocs.Signature Cloud'
opts.qr_code_type = 'Aztec'
# ページ上の署名位置を設定する
opts.left = 450
opts.top = 0
opts.width = 90
opts.height = 90
opts.location_measure_type = "Pixels"
opts.size_measure_type = "Pixels"
opts.stretch = "None"
opts.rotation_angle = 0
opts.horizontal_alignment = "None"
opts.vertical_alignment = "None"
opts.margin = groupdocs_signature_cloud.Padding()
opts.margin.all = 5
opts.margin_measure_type = "Pixels"
opts.inner_margins = groupdocs_signature_cloud.Padding()
opts.inner_margins.all = 2
opts.page = 1
settings = groupdocs_signature_cloud.SignSettings()
settings.options = [opts]
settings.save_options = groupdocs_signature_cloud.SaveOptions()
settings.save_options.output_file_path = "Output\\signedQRCode_sample.pdf"
settings.file_info = fileInfo
request = groupdocs_signature_cloud.CreateSignaturesRequest(settings)
response = api.create_signatures(request)
署名付きファイルをダウンロードする
上記のコード サンプルは、署名された PDF ファイルをクラウドに保存します。次のコードサンプルを使用してダウンロードできます。
# APIの初期化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)
request = groupdocs_signature_cloud.DownloadFileRequest("Output\\signedQRCode_sample.pdf", my_storage)
response = file_api.download_file(request)
# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\")
Python を使用して電子署名を検証する
QR コードで署名された PDF ドキュメントの署名をプログラムで検証するには、以下の手順に従ってください。
- SignApi のインスタンスを作成する
- PDFファイルのパスを設定する
- VerifyQRCodeオプションの定義
- 署名の種類、テキスト、コードを指定する
- VerifySettings の定義
- VerifyQRCodeOptions と FileInfo を VerifySettings に割り当てる
- VerifySignatureRequest の作成
- SignApi.verify\signatures() メソッドを呼び出して結果を取得します
次のコード スニペットは、REST API を使用して PDF ドキュメント内の署名を検証する方法を示しています。
# APIの初期化
api = groupdocs_signature_cloud.SignApi.from_keys(client_id, client_secret)
fileInfo = groupdocs_signature_cloud.FileInfo()
fileInfo.file_path = "Output\\signedQRCode_sample.pdf"
opts = groupdocs_signature_cloud.VerifyQRCodeOptions()
opts.signature_type = 'QRCode'
opts.text = 'GroupDocs.Signature Cloud'
opts.qr_code_type = 'Aztec'
opts.match_type = 'Contains'
opts.page = 1
settings = groupdocs_signature_cloud.VerifySettings()
settings.options = [opts]
settings.file_info = fileInfo
request = groupdocs_signature_cloud.VerifySignaturesRequest(settings)
response = api.verify_signatures(request)
print('Signature Verified: ' + str(response.is_success))
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン PDF 署名ツールをお試しください。 https://products.groupdocs.app/signature/pdf
結論
この記事では、Python を使用してドキュメント署名 REST API を使用してクラウド上で PDF ドキュメントに署名する方法を学習しました。また、プログラムによって PDF ファイルをクラウドにアップロードし、署名されたファイルをクラウドからダウンロードする方法も学習しました。 GroupDocs.Signature Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。