Files
SnapOtter/apps/docs/fr/tools/pdf/sign-pdf.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.4 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Apposer des images de signature téléversées sur un PDF à l'aide de placements de page normalisés. c28f78c2e7fd human e72288f186c4

Signer un PDF

Apposez une ou plusieurs images de signature PNG téléversées sur n'importe quelle page d'un PDF. Cette route utilise un contrat multipart personnalisé car elle a besoin du PDF, d'une ou plusieurs images de signature et des coordonnées de placement.

Point de terminaison de l'API

POST /api/v1/tools/pdf/sign-pdf

Accepte des données de formulaire multipart. Le PDF est envoyé en tant que file ; les signatures sont envoyées en tant que sig0, sig1, et ainsi de suite ; les placements sont envoyés dans un champ JSON placements.

Paramètres

Paramètre Type Requis Par défaut Description
file file Oui - Fichier PDF à signer
sig0 file Oui - Première image de signature. Les images supplémentaires utilisent sig1, sig2, et ainsi de suite
placements JSON string Oui - Tableau d'objets de placement : { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobId string Non - UUID facultatif pour le suivi de la progression via SSE
fileId string Non - ID de bibliothèque de fichiers facultatif pour enregistrer le résultat signé comme nouvelle version

Coordonnées de placement

Champ Type Description
sig integer Index de l'image de signature. 0 correspond à sig0
page integer Index de page PDF commençant à zéro
x number Position gauche en fraction de page
y number Position haute en fraction de page
w number Largeur de la signature en fraction de page
h number Hauteur de la signature en fraction de page

Les coordonnées utilisent une origine en haut à gauche. Les valeurs peuvent légèrement dépasser le bord de la page ; le moteur de rendu PDF découpe le tampon final à la page.

Exemple de requête

curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@contract.pdf" \
  -F "sig0=@signature.png" \
  -F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'

Exemple de réponse

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
  "previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
  "originalSize": 245000,
  "processedSize": 249000
}

Si la requête ne peut pas se terminer dans la fenêtre d'attente synchrone, l'API renvoie :

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Connectez-vous à /api/v1/jobs/<jobId>/progress et téléchargez le résultat une fois le travail terminé.

Remarques

  • Format d'entrée PDF accepté : .pdf.
  • Les images de signature doivent être des fichiers image valides, généralement au format PNG avec transparence.
  • Jusqu'à 100 images de signature et 100 placements sont acceptés.
  • sign-pdf est une route personnalisée et n'utilise pas le champ JSON settings d'outil standard.