Firmar PDF con imagen

Si encuentras algún problema con el API, por favor comunícalo en GitHub


3.1 Cómo firmar un PDF con una imagen usando la API


URL

Para firmar un PDF con una imagen usando nuestra API Rest es necesario realizar una llamada POST a la siguiente url:

https://getoutpdf.com/api/sign/pdf-with-image


Parámetros GET

Nuestra API Rest no dispone de operaciones a través de parámetros GET


Parámetros POST

  • api_keyApi key generada para tu licencia. Puedes ver tu api key en
    (string, required)
  • pdf_inFichero PDF de origen codificado en base64
    (string, required)
  • imageImagen para firmar codificada en base64
    (string, required)
  • sign_xPosición horizontal (Coordenada X) de la imagen en milímetros (mm) - El valor "0" indica que la imagen estará pegada a borde izquierdo - El valor "-1" indica que la imagen estará pegada a borde derecho
    (numeric, optional, default: -1, values: -1|>0)
  • sign_yPosición vertical (Coordenada Y) de la imagen en milímetros (mm) - El valor "0" indica que la imagen estará pegada a borde superior - El valor "-1" indica que la imagen estará pegada a borde inferior
    (numeric, optional, default: -1, values: -1|>0)
  • sign_widthAnchura de la imagen en milímetros (mm) - El valor "0" calcula la anchura de forma automática
    (numeric, optional, default: 0, min: 0)
  • sign_heightAltura de la imagen en milímetros (mm) - El valor "0" calcula la altura de forma automática
    (numeric, optional, default: 0, min: 0)
  • sign_pagesIndica que páginas serán firmadas
    (string, optional, default: all, values: first | last | all)

Supported image file formats: jpg, jpeg, exif, tiff, gif, bmp, png, ppm, pgm, pbm, pnm


Puedes hacer una llamada POST, utilizando la cabecera html application/x-www-form-urlencoded, con los parámetros anteriormente descritos.

O también puedes enviar los parámetros a través del formato JSON, utilizando la cabecera html application/json:

{
    "api_key" : "...",          // string, required
    "pdf_in" : "...",           // string, required
    "image" : "...",            // string, required
    "sign_x" : "...",           // numeric, optional, default: -1, values: -1|>0
    "sign_y" : "...",           // numeric, optional, default: -1, values: -1|>0
    "sign_width" : "...",       // numeric, optional, default: 0, min: 0
    "sign_height" : "...",      // numeric, optional, default: 0, min: 0
    "sign_pages" : "..."        // string, optional, default: all, values: first|last|all
}

Ejemplo

{
    "api_key" : "64b5d1054b69e676b9984d8406c5209a6ba78...",
    "pdf_in" : "JVBERi0xLjQNJeLjz9MNCjYgMCBvYmo8PC9I...",
    "image" : "JVBERi0xLjQNJeLjz9MNCjYgMCBvYmo8PC9I...",
    "sign_x" : -1,
    "sign_y" : 2.45,
    "sign_width" : 24.45,
    "sign_height" : 24.45,
    "sign_pages" : "all"
}

Respuesta

Si la operación se ha realizado correctamente la respuesta es un JSON con la siguiente estructura:

{
    "api_key": "...",       // string - Api key utilizada para tu licencia
    "pdf_base64": "...",    // string - Fichero PDF codificado en base64
    "tokens_used": "...",   // integer - Créditos utilizados para la operación
    "tokens_left": "..."    // integer - Créditos restantes
}

Errores

Si se produce un error en el envío de parámetros, la respuesta será un JSON con la siguiente estructura:

{
    "errors": {
        "param1": [     // string - Nombre del parámetro que ha generado el error
            "message"   // string - Descripción del error
        ],
        "param2": [
            "message"
        ],
        ...
        "paramN": [
            "message"
        ]
    }
}

Si se produce un error en la operación, la respuesta será un JSON con la siguiente estructura:

{
    "errors": [
        "message1",
        "message2",
        ...
        "messageN"
    ]
}