PDF Blocks
TarifsSupport
Commencer gratuitement
Ouvrir la page

Travailler avec les fichiers

Comment joindre des fichiers d’entrée à une requête : un seul PDF, une liste ordonnée pour la fusion, une seconde image pour les filigranes, et les limites de chacun.

Les entrées sont envoyées comme parties binaires d’une requête multipart/form-data. La plupart des actions prennent exactement un PDF dans un champ file, mais deux actions en demandent davantage : la fusion prend un tableau ordonné de fichiers, et le filigrane image prend un second binaire à côté du PDF. Cette page couvre les trois formes d’entrée.

Un seul fichier

Le cas par défaut. Joignez un PDF dans le champ file et ajoutez les options de l’action sous forme de champs texte :

cURLbash
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

Le @ de -F file=@input.pdf indique à cURL d’envoyer le contenu du fichier. Toutes les actions à entrée unique (filigranes, sécurité, opérations sur les pages, divisions) fonctionnent ainsi.

Plusieurs fichiers : la fusion

Fusionner des documents est la seule action qui accepte un tableau. Envoyez le champ file plusieurs fois et les documents sont fusionnés dans l’ordre où les parties apparaissent dans la requête. Fournissez au moins un fichier ; vous pouvez en envoyer beaucoup en un seul appel.

L’ordre est positionnel : envoyez donc les parties dans la séquence où vous voulez les fusionner. Quand votre client HTTP expose un objet formulaire, utilisez sa méthode append (et non set) pour que la répétition de file ajoute des parties au lieu d’écraser la précédente.

cURLbash
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
Pythonpython
# 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.jsjavascript
// 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()));

Si répéter le champ file est malcommode dans votre client HTTP (cURL en PHP, les assistants de formulaire en Ruby), envoyez plutôt des champs numérotés de file_1 à file_10 : ils sont fusionnés dans l’ordre numérique. Utilisez le tableau file répété quand il vous faut plus de dix documents.

Une image à côté du PDF : le filigrane image

Ajouter un filigrane image prend deux parties binaires : le PDF dans file et l’image du filigrane dans un champ image. L’image doit être au format PNG ou JPEG. Les deux parties sont obligatoires.

cURLbash
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

Les champs restants (transparency, margin et pages) sont des options texte ordinaires. Consultez la référence de l’action pour leurs plages et leurs valeurs par défaut.

Entrées acceptées et taille

  • L’entrée file (et chaque fichier fusionné) doit être un PDF lisible. Un fichier qui ne peut pas être analysé comme un PDF renvoie un 400 qui nomme le champ file. Consultez Erreurs.
  • L’entrée image du filigrane image doit être au format PNG ou JPEG.
  • Les pages qu’une action touche sont une question distincte de la façon dont vous joignez le fichier. Exprimez vos sélections de pages avec le champ pages documenté dans Sélectionner des pages.

Pour les gros documents (envoi et téléchargement en flux, délais d’attente, nouvelles tentatives), consultez Travailler avec de gros fichiers.