画像スタンプを追加する PDF - 透かし API
PDF4me 画像スタンプを追加する PDF カスタマイズ可能な画像スタンプと透かしを追加できます PDF 文書。 API サービスプロセス PDF ファイルに追加して、ドキュメントのブランディングとセキュリティのために、正確な位置、カスタムサイズ、フォーマットオプションで画像透かしを追加します。 API 受け取る PDF コンテンツと画像データ REST API 通話を利用して Base64 安全な送信のためのエンコード。柔軟な位置決め、カスタムサイズ設定、ページターゲティング、印刷制御をサポートするこのソリューションは、ドキュメントのブランディング、著作権保護、およびエンタープライズ用途に最適です。 PDF ワークフロー。
認証 API リクエスト
アクセスするには PDF4me REST APIすべてのリクエストには適切な認証情報を含める必要があります。認証により安全な通信が保証され、あなたが正規のユーザーであることが検証されます。 REST API。
主な機能
- 画像透かしのサポート: 透かしやスタンプとしてカスタム画像を追加する PDF 文書
- 柔軟な位置決め水平方向と垂直方向の配置をピクセル単位で正確に制御します。
- カスタムサイズ画像サイズをミリメートルとピクセルの両方の測定値を使用して調整します。
- 高度な書式設定: プロフェッショナルな外観にするために、不透明度、余白、背景オプションを設定します。
- ページターゲティング特定のページまたは文書全体にスタンプを貼る
- 印刷制御: 印刷時のみ、または画面上のみにスタンプを表示するように設定します。
- プロフェッショナルな成果文書のセキュリティとブランディングを強化する画像透かしを作成する
- シームレス API 統合: REST API 自動化向けに設計されています PDF 編集ワークフローとエンタープライズシステム統合
REST API 終点
の PDF4me REST API 標準を使用する HTTP リソースとやり取りするためのメソッド。すべての画像スタンプ追加操作は、単一のエンドポイントを介して実行されます。
- 方法: POST
- 終点:
/api/v2/ImageStamp
画像スタンプ機能
画像フォーマットのサポート
- 一般的なフォーマット: サポート JPG、 PNGGIF、その他の標準画像フォーマット
- Base64 エンコーディング: 安全な画像伝送 Base64 エンコーディング
- サイズコントロールミリメートル単位(10~200mm)とピクセル単位(20~600px)の両方のサイズ指定オプションがあります。
配置とレイアウト
- 水平方向の配置左、中央、右のいずれかの位置オプション
- 垂直方向の配置: 上部、中央、下部の配置制御
- マージンコントロールミリメートル単位(0~100mm)とピクセル単位(0~300px)の両方の測定による高精度な位置決め
- ページターゲティングページオプションを使用して特定のページに適用します(すべてのページの場合は空の文字列、「1」、「1,3,5」、「2-5」、「1,3,7-10」、「2-」)
高度な機能
- 不透明度コントロール: 透明度調整(0~100):0=透明、100=完全に不透明
- バックグラウンドモード: 画像を背面に配置するオプション (
isBackground: true)または前(isBackground: falseコンテンツの - 印刷制御: 印刷時のみにスタンプが表示されるように設定する (
showOnlyInPrint: true)または表示と印刷(showOnlyInPrint: false) - 非同期処理: 長時間実行される操作のためのポーリングによる非同期処理のサポート
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. | stamp.png |
| imageFile | Optional | Required. The stamp image. Accepts the base64-encoded file content, a `pdf4meblobid://<id>` reference, or an `https` URL. Type: string. | iVBORw0KGgoAAAANS... |
| alignX | Optional | An unrecognised value is rejected with 400. Type: string. | Center |
| alignY | Optional | An unrecognised value is rejected with 400. Type: string. | Middle |
| 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. | 30 |
| 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. | 30 |
| heightInPx | Optional | Image height in points (1/72 inch), despite the name. Ignored when a millimetre size is given. Type: string. | 85 |
| widthInPx | Optional | Image width in points (1/72 inch), despite the name. Ignored when a millimetre size is given. Type: string. | 85 |
| 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. | 10 |
| 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. | 10 |
| 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. | 28 |
| 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. | 28 |
| 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. | 50 |
| pages | Optional | Pages to stamp, e.g. `1`, `1,3,5`, `2-5` or `2-` (2 to the last page). Type: string. | ""` or `"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. | false |
| 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. | true |
出力
の 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/ImageStamp/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のいずれかである必要があります)。
- 無効なサイズまたは余白値(許容範囲外)
- 無効または欠落 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==",
"imageName": "stamp.png",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"alignX": "Center",
"alignY": "Middle"
}
高度な例(すべてのオプションフィールドを含む):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageName": "stamp.png",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"alignX": "Center",
"alignY": "Middle",
"pages": "",
"heightInMM": "30",
"widthInMM": "30",
"heightInPx": "85",
"widthInPx": "85",
"marginXInMM": "10",
"marginYInMM": "10",
"marginXInPx": "28",
"marginYInPx": "28",
"opacity": 50,
"isBackground": true,
"showOnlyInPrint": false,
"async": true
}
コードサンプル
の PDF4me 画像スタンプを追加する PDF REST API 複数のプログラミング言語のコードサンプルを提供します。開発環境に最適な言語を選択してください。
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
業界におけるユースケースとアプリケーション
- Legal & Professional Services
- Business & Enterprise
- Finance & Banking
- Government & Compliance
法律・専門サービスにおけるユースケース
- 法的文書法的文書に法的免責事項と機密保持通知を適用する
- 契約印紙契約書や合意書に画像スタンプを追加する
- 機密保持に関する通知機密性の高い法的文書に機密保持画像スタンプを適用する
- 適合性スタンプ: 法務文書に規制遵守に関する画像通知を追加する
ビジネスおよび企業向けユースケース
- ドキュメントブランディングPDF文書に会社のロゴ、透かし、ブランディング要素を追加する
- ステータス指標: 文書の状態を示すために、「下書き」、「機密」、「承認済み」などの画像スタンプを追加します。
- レポート生成生成されたドキュメントにタイムスタンプ、ページ番号、レポート識別子を追加する
- コーポレートブランディングビジネス文書全体に一貫したイメージブランディングを適用する
金融・銀行業務におけるユースケース
- 財務報告書財務報告書や明細書に画像スタンプを追加する
- 請求書へのスタンプ押印請求書と発注書に承認画像スタンプを適用する
- コンプライアンス文書: 金融文書に規制関連の画像スタンプを追加する
- 監査証跡財務書類に画像タイムスタンプ付きの監査証跡を作成する
政府およびコンプライアンス関連のユースケース
- 著作権保護知的財産を保護するために、著作権表示と所有権を示す画像スタンプを適用する。
- 規制遵守規制要件を満たすために、コンプライアンス画像スタンプを追加します。
- 公式文書政府文書に公式画像スタンプを貼付する
- 公文書公的記録や文書に分類画像スタンプを追加する