ファイルの操作
リクエストに入力ファイルを添付する方法について説明します。1つのPDF、結合用の順序付きリスト、透かし用の2つ目の画像、それぞれの制限を扱います。
入力は multipart/form-data リクエストのバイナリパートとして送信します。ほとんどのアクションは file フィールドに1つの PDF だけを受け取りますが、2つのアクションはそれ以上を必要とします。結合はファイルの順序付き配列を受け取り、画像透かしは PDF に加えて2つ目のバイナリを受け取ります。このページでは、この3つの入力形式をすべて扱います。
単一ファイル
デフォルトの形式です。file フィールドに1つの PDF を添付し、アクションのオプションを文字列フィールドとして追加します:
curl https://api.pdfblocks.com/v1/extract_pages \
-H 'X-API-Key: your_api_key' \
-F file=@input.pdf \
-F pages='1..3' \
-o extract.pdf-F file=@input.pdf の @ は、ファイルの内容を送信するよう cURL に指示します。単一入力を扱うすべてのアクション(透かし、セキュリティ、ページ操作、分割)はこの方式で動作します。
複数ファイル:結合
ドキュメントを結合するは、配列を受け付ける唯一のアクションです。file フィールドを複数回送信すると、ドキュメントはリクエスト内でパートが現れる順序で結合されます。少なくとも1つのファイルを指定してください。1回の呼び出しで多数のファイルを送ることもできます。
順序は位置によって決まるため、結合したい順番でパートを送信してください。HTTP クライアントがフォームオブジェクトを公開している場合は、file を繰り返し指定したときに前のパートを上書きするのではなく追加されるように、set ではなく append メソッドを使用してください。
curl https://api.pdfblocks.com/v1/merge_documents \
-H 'X-API-Key: your_api_key' \
-F file=@cover.pdf \
-F file=@body.pdf \
-F file=@appendix.pdf \
-o merged.pdf# pip install requests
import requests
files = [
('file', ('cover.pdf', open('cover.pdf', 'rb'), 'application/pdf')),
('file', ('body.pdf', open('body.pdf', 'rb'), 'application/pdf')),
('file', ('appendix.pdf', open('appendix.pdf', 'rb'), 'application/pdf')),
]
response = requests.post(
'https://api.pdfblocks.com/v1/merge_documents',
headers={'X-API-Key': 'your_api_key'},
files=files,
)
response.raise_for_status()
with open('merged.pdf', 'wb') as output:
output.write(response.content)// Node.js 18+
import { readFile, writeFile } from 'node:fs/promises';
const body = new FormData();
for (const name of ['cover.pdf', 'body.pdf', 'appendix.pdf']) {
body.append('file', new Blob([await readFile(name)]), name);
}
const response = await fetch('https://api.pdfblocks.com/v1/merge_documents', {
method: 'POST',
headers: { 'X-API-Key': 'your_api_key' },
body,
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
await writeFile('merged.pdf', Buffer.from(await response.arrayBuffer()));HTTP クライアントで file フィールドを繰り返すのが難しい場合(PHP の cURL や Ruby のフォームヘルパーなど)は、代わりに file_1 から file_10 までの番号付きフィールドを送信してください。これらは数値の順序で結合されます。10件を超えるドキュメントが必要な場合は、繰り返しの file 配列を使用してください。
PDF に添える画像:画像透かし
画像透かしを追加するは、file の PDF と image フィールドの透かし画像という、2つのバイナリパートを受け取ります。画像は PNG または JPEG である必要があります。どちらのパートも必須です。
curl https://api.pdfblocks.com/v1/add_image_watermark \
-H 'X-API-Key: your_api_key' \
-F file=@input.pdf \
-F image=@logo.png \
-o watermarked.pdf残りのフィールド(transparency、margin、pages)は通常の文字列オプションです。それぞれの範囲とデフォルト値については、アクションのリファレンスを参照してください。