サイン PDF - デジタル署名 API
PDF4me サイン PDF 署名画像を追加できます PDF 位置、サイズ、外観を制御できるドキュメント。 API サービスプロセス PDF ファイルと署名画像を追加 Base64 安全な送信のためのエンコード。 API 受け取る PDF コンテンツと署名画像データ REST API このソリューションは、文書認証、法令遵守、業務ワークフロー、および文書への視覚的な署名の追加に最適です。
認証 API リクエスト
アクセスするには PDF4me REST APIすべてのリクエストには適切な認証情報を含める必要があります。認証により安全な通信が保証され、あなたが正規のユーザーであることが検証されます。 REST API。
主な機能
- 画像署名のサポート: カスタム署名画像を追加する PDF 位置とサイズを完全に制御できるドキュメント
- 柔軟な位置決め水平方向と垂直方向の配置をピクセル単位で正確に制御します。
- カスタムサイズ署名の寸法をミリメートルとピクセルの両方の測定値を使用して調整します。
- 高度な書式設定: プロフェッショナルな外観にするために、不透明度、余白、背景オプションを設定します。
- ページターゲティング特定のページまたは文書全体に署名を適用する
- 印刷制御署名を印刷時のみ、または画面上のみに表示するように設定する
- プロフェッショナルな成果文書の認証とセキュリティを強化する署名を作成する
- 非同期処理: 長時間実行される操作のためのポーリングによる非同期処理のサポート
REST API 終点
の PDF4me REST API 標準を使用する HTTP リソースとやり取りするための方法。すべて PDF 署名操作は単一のエンドポイントを通じて実行されます。
- 方法: POST
- 終点:
/api/v2/SignPdf
サポート対象 PDF 署名機能
の API さまざまな包括的なサポートを提供します PDF 署名機能:
署名画像のサポート
- 一般的なフォーマット: サポート JPG、 PNG、およびその他の標準画像フォーマット
- Base64 エンコーディング: 安全な署名送信 Base64 エンコーディング
- 柔軟なサイズ展開ミリメートル(10~200mm)とピクセル(20~600px)の両方のサイズオプションがあります。
- 品質維持: 署名画像の品質を維持します PDF 出力
配置とレイアウト
- 水平方向の配置左、中央、右の配置オプション
- 垂直方向の配置: 上部、中央、下部の配置制御
- マージンコントロールミリメートル(0~100mm)とピクセル(0~300px)の両方の測定に基づいた正確な位置決め
- 柔軟な勤務形態: 正確な寸法で任意のページ位置をサポート
- ページターゲティング特定のページまたは文書全体に適用する(オプション)
高度な機能
- 不透明度コントロール: 署名の透明度を調整可能(0~100)で、控えめな署名にも目立つ署名にも対応
- バックグラウンドモード署名をコンテンツの後ろまたは前に配置できるオプション
- 印刷制御署名を表示および印刷するか、印刷のみにするかを設定します。
- プロフェッショナルな外見: 鮮明な視認性を備えた高品質な署名レンダリング
REST API パラメータ
サインのパラメータの完全なリスト PDF REST APIパラメータは、理解と実装を容易にするためにカテゴリ別に整理されています。
重要: アスタリスク (*) が付いているパラメータは必須であり、提供する必要があります。 API 正しく機能するため。
| パラメータ | 必須 | その機能 | 例 |
|---|---|---|---|
| jobIdExt | Optional | Your own reference for this call. It is stored with the API call log so you can correlate calls with your jobs. Type: string. | |
| integrations | Optional | Integration identifiers, forwarded unchanged with the job's notification settings. Type: array. | |
| isAsync | Optional | Set to `true` to process the action asynchronously and get a job to poll at `/api/v2/GetActionStatus`. Only honoured by actions that support asynchronous processing. Type: boolean. | true |
| docName | Optional | Source file name including its extension. Several actions dispatch on the extension, so it should always be set; when omitted a per-action default is used. Type: string. | output.pdf |
| docContent | Required | The source file. Accepts the base64-encoded file content, a `pdf4meblobid://<id>` reference to a previously uploaded blob, or an `https` URL to the source document. Required: an empty value fails with `File is empty`. Type: string. | JVBERi... |
| docContentBytes | Optional | Alternative raw byte payload for the source file. Type: string. | |
| callBackUrl | Optional | Optional URL notified when an asynchronous job completes. Type: string. | |
| imageName | Optional | Required. File name of the stamp image including its extension (e.g. `logo.png`); the extension sets the image type. Type: string. | signature.jpg |
| imageFile | Optional | Required. The stamp image. Accepts the base64-encoded file content, a `pdf4meblobid://<id>` reference, or an `https` URL. Type: string. | iVBORw0KGgoAAAANSUhEUgAA... |
| alignX | Optional | An unrecognised value is rejected with 400. Type: string. | Right |
| alignY | Optional | An unrecognised value is rejected with 400. Type: string. | Bottom |
| heightInMM | Optional | Image height in millimetres. When `heightInMM` or `widthInMM` is set it overrides the `...InPx` size. If only one dimension is given the other keeps the image's aspect ratio; if none is given the image's own size is used. Type: string. | 25 |
| widthInMM | Optional | Image width in millimetres. When `heightInMM` or `widthInMM` is set it overrides the `...InPx` size. If only one dimension is given the other keeps the image's aspect ratio. Type: string. | 50 |
| heightInPx | Optional | Image height in points (1/72 inch), despite the name. Ignored when a millimetre size is given. Type: string. | 71 |
| widthInPx | Optional | Image width in points (1/72 inch), despite the name. Ignored when a millimetre size is given. Type: string. | 142 |
| marginXInMM | Optional | Horizontal distance in millimetres from the edge chosen by `alignX`. Overrides `marginXInPx` when either millimetre margin is set. Ignored when `alignX` is `center`. Type: string. | 20 |
| marginYInMM | Optional | Vertical distance in millimetres from the edge chosen by `alignY`. Overrides `marginYInPx` when either millimetre margin is set. Ignored when `alignY` is `middle`. Type: string. | 20 |
| marginXInPx | Optional | Horizontal distance in points (1/72 inch, despite the name) from the edge chosen by `alignX`. Ignored when `alignX` is `center`. Type: string. | 57 |
| marginYInPx | Optional | Vertical distance in points (1/72 inch, despite the name) from the edge chosen by `alignY`. Ignored when `alignY` is `middle`. Type: string. | 57 |
| opacity | Optional | Opacity from `0` (invisible) to `100` (fully opaque); values outside the range are clamped. Omitted or non-numeric counts as `0`, so always set it. Type: string. | 100 |
| pages | Optional | Pages to stamp, e.g. `1`, `1,3,5`, `2-5` or `2-` (2 to the last page). Type: string. | 1-3 |
| showOnlyInPrint | Optional | Show the stamp only when the PDF is printed, not on screen. Only used by ImageStamp; SignPdf ignores it. Type: boolean. | true |
| isBackground | Optional | Place the stamp behind the page content instead of in front. Ignored when `showOnlyInPrint` is `true`. Only used by ImageStamp; SignPdf ignores it. Type: boolean. | false |
出力
の PDF4me サイン PDF REST API 処理モードに基づいて異なる応答を返します。 API 返します PDF として Base64-エンコードされた文字列 JSON フォーマットバイナリデータとしてではなく。
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
同期処理(デフォルト)
いつ async 設定されていないか、 false、 API リクエストを即座に処理します。
ステータスコード: 200 OK
Content-Type: application/json
応答本文:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg=="
}
回答欄:
- ドキュメント名 (文字列):出力 PDF ファイル名
- ドキュメントコンテンツ (文字列): PDF 署名が追加されたファイル、エンコードされた Base64 弦
使用方法:
- 抽出する
docContentからのフィールド JSON 応答 - 解読する Base64 バイナリを取得する文字列 PDF データ
- 保存または処理 PDF 必要に応じてファイルする
例 (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const pdfBytes = atob(data.docContent); // Decode Base64
// Save or process pdfBytes
非同期処理
いつ async: true 設定されている、 API リクエストを非同期的に処理します。
ステータスコード: 202 Accepted
レスポンスヘッダー:
Location: https://api.pdf4me.com/api/v2/SignPdf/poll/12345-abcde-67890
投票プロセス:
- 抽出する
Location202レスポンスのヘッダー - 投票する URL 使用 GET リクエスト
- 受信するまで投票を続けてください 200 OK 状態
- 最終回答には同じ内容が含まれています JSON フォーマット
docNameそしてdocContent(Base64)
投票例:
// Initial request returns 202 with Location header
const response = await fetch(url, options);
const location = response.headers.get('Location');
// Poll until complete
while (true) {
const pollResponse = await fetch(location, { headers: { 'Authorization': 'Basic ' + apiKey } });
if (pollResponse.status === 200) {
const data = await pollResponse.json();
// Process data.docContent (Base64 PDF)
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // Wait 2 seconds
}
エラー応答
の API 標準を返します HTTP エラーコードとエラー詳細:
- 無効なリクエストパラメータ
- 必須項目が欠落しています(
ドキュメントコンテンツ、ドキュメント名、画像ファイル、画像名、alignX、整列Y) - 無効 Base64 エンコーディング
ドキュメントコンテンツまたは画像ファイル - 無効な配置値です(alignX の場合は「Left」、「Center」、「Right」、alignY の場合は「Top」、「Middle」、「Bottom」のいずれかを指定する必要があります)。
- 無効なサイズ値です(幅/高さは指定された範囲内である必要があります)
- 不透明度の値が無効です(0~100の範囲である必要があります)
- 無効または欠落 API 鍵
- API キーが正しくありません Base64 エンコードされた Authorization ヘッダー
- ない
認証: 基本ヘッダー
- サーバー側処理エラー
- PDF 処理エラー
- 署名追加失敗
エラー応答フォーマット:
{
"error": "Error message describing what went wrong"
}
回答形式の詳細
重要: の API 常に返される JSON決してバイナリではない PDF データを直接取得します。
応答構造:
{
"docName": "string", // Output PDF filename
"docContent": "string" // Base64-encoded PDF content
}
Content-Type ヘッダー:
- 成功:
application/json - の PDF として埋め込まれています Base64 文字列内の JSON 応答
なぜ Base64?
- JSON-バイナリデータの安全なエンコード
- 簡単に伝達できます HTTP
- すべてのプログラミング言語に対応
- 直接埋め込むことができます JSON 問題から逃れることなく
デコード Base64 に PDF:
JavaScript/Node.js:
const base64 = response.docContent;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64').toString('binary'); // Node.js
Python:
import base64
pdf_bytes = base64.b64decode(response['docContent'])
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
C#:
byte[] pdfBytes = Convert.FromBase64String(response.docContent);
File.WriteAllBytes("output.pdf", pdfBytes);
リクエスト例
ヘッダ
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
注記:
- 手に入れよう API 鍵から PDF4me ダッシュボード
- の API キーは Base64 エンコードされ、「Basic」がプレフィックスとして付加されています。 Authorization ヘッダー
- 例: API 重要なのは
abc123エンコードして Base64 そして使用するAuthorization: Basic YWJjMTIz
ペイロード
基本的な例(必須項目のみ):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"alignX": "Right",
"alignY": "Bottom"
}
高度な例(すべてのオプションフィールドを含む):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"pages": "1-3",
"alignX": "Right",
"alignY": "Bottom",
"widthInMM": "50",
"heightInMM": "25",
"widthInPx": "142",
"heightInPx": "71",
"marginXInMM": "20",
"marginYInMM": "20",
"marginXInPx": "57",
"marginYInPx": "57",
"opacity": "100",
"showOnlyInPrint": true,
"isBackground": false,
"async": true
}
コードサンプル
の PDF4me サイン PDF REST API 複数のプログラミング言語のコードサンプルを提供します。開発環境に最適な言語を選択してください。
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
PDF 署名機能
署名画像コントロール
- フォーマットサポート: JPG、 PNGGIF、その他の標準画像フォーマット
- 品質維持: 署名画像の品質と解像度を維持します PDF 出力
- Base64 エンコーディング: 安全な署名送信 Base64 エンコーディング
- 柔軟なサイズ展開ミリメートル単位とピクセル単位の両方のサイズ指定オプション
- プロフェッショナルな外見: 鮮明な視認性を備えた高品質な署名レンダリング
配置とレイアウト
- アライメント制御: 正確な水平および垂直位置合わせオプション
- 余白設定ミリメートル単位とピクセル単位の両方の位置決め
- 柔軟な勤務形態: あらゆるページ位置と向きに対応
- ページターゲティング特定のページまたはドキュメント全体に適用する
- サイズコントロール最適な配置のためのカスタマイズ可能な寸法
高度な機能
- 不透明度コントロール署名の透明度を調整して、さりげない署名にも目立つ署名にも対応できます。
- バックグラウンドモード署名をコンテンツの後ろまたは前に配置できるオプション
- 印刷制御署名を印刷時のみ、または画面上のみに表示するように設定する
- プロフェッショナルな成果文書の認証とセキュリティを強化する署名を作成する
- 柔軟な位置決め水平方向と垂直方向の配置をピクセル単位で正確に制御します。
業界におけるユースケースとアプリケーション
- Legal & Professional Services
- Finance & Banking
- Business & Enterprise
- Government & Compliance
法律・専門サービスにおけるユースケース
- 法的文書法的契約書、合意書、および公式文書に署名する
- 契約締結法的効力を確保するため、契約書や合意書にデジタル署名する。
- 裁判所文書裁判所提出書類や法的文書にデジタル署名を適用する
- コンプライアンス要件文書署名および認証に関する規制要件を満たす
金融・銀行業務におけるユースケース
- 請求書への署名請求書や発注書にデジタル署名する
- 財務書類財務報告書や明細書に署名する
- ローン関連書類ローン契約書や金融書類にデジタル署名する
- 規制遵守金融文書署名に関する規制要件を満たす
ビジネスおよび企業向けユースケース
- ビジネスワークフロー請求書、発注書、ビジネス文書にデジタル署名する
- 文書認証PDF文書にデジタル署名を追加して認証と検証を行う
- レポート生成生成されたレポートや公式文書に署名を追加する
- 企業文書: 企業文書および公式通信に署名する
政府およびコンプライアンス関連のユースケース
- コンプライアンス要件文書署名および認証に関する規制要件を満たす
- 政府文書政府文書やフォームにデジタル署名を適用する
- 規制関連文書規制およびコンプライアンス関連文書にデジタル署名する
- 公文書公的記録や公式文書に署名する