Convertir código HTML a PDF

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


2.7 Cómo convertir código HTML a PDF usando la API


URL

Para convertir html a PDF usando nuestra API Rest es necesario realizar una llamada POST a la siguiente url:

https://getoutpdf.com/api/convert/html-to-pdf


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)
  • htmlCódigo HTML para convertir a PDF. Asegúrate de escapar los carácteres especiales si usas JSON puro.
    (string, required)
  • page_predefinedTamaño de página predefinido
    (string, optional, default: A4, values:A1 | A2 | A3 | A4 | Dle | Executive | Folio | Ledger | Legal | Letter)
  • page_widthAnchura de la página en milímetros (mm)
    (numeric, optional, min: 1)
  • page_heightAltura de la página en milímetros (mm)
    (numeric, optional, min: 1)
  • El parámetro "pagePredefined" no se tendrá en cuenta si se omite y "pageWidth" y "pageHeight" están presentes. En cualquier otro caso, "pagePredefined" tiene preferencia sobre "pageWidth" y "pageHeight"
  • page_orientationOrientación de la página
    (string, optional, default: portrait, values: portrait | landscape)
  • page_numberInsertar números de página
    (boolean, optional, default: false)
  • grayscalePDF en escala de grises
    (boolean, optional, default: false)
  • margin_leftMargen izquierdo en milímetros (mm)
    (numeric, optional, default: 0, min: 0)
  • margin_topMargen superior en milímetros (mm)
    (numeric, optional, default: 0, min: 0)
  • margin_rightMargen derecho en milímetros (mm)
    (numeric, optional, default: 0, min: 0)
  • margin_bottomMargen inferior en milímetros (mm)
    (numeric, optional, default: 0, min: 0)
  • html_disable_javascriptDeshabilitar ejecución de JavaScript
    (boolean, optional, default: false)
  • html_hide_imagesOcultar imágenes
    (boolean, optional, default: false)
  • html_hide_backgroundsOcultar fondos
    (boolean, optional, default: false)
  • html_disable_hyperlinksDeshabilitar hipervínculos
    (boolean, optional, default: false)
  • html_zoomZoom de la página
    (numeric, optional, default: 100, min: 0)

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
    "html" : "...",                     //string, required
    "page_predefined" : "...",          //string, optional, default: A4, values:A1|A2|A3|A4|Dle|Executive|Folio|Ledger|Legal|Letter
    "page_width" : "...",               //string, optional, min: 1
    "page_height" : "...",              //string, optional, min: 1
    "page_orientation" : "...",         //string, optional, default: portrait, values:portrait|landscape
    "page_number" : "...",              //string, optional, default: false
    "grayscale" : "...",                //string, optional, default: false
    "margin_left" : "...",              //string, optional, default: 0, min: 0
    "margin_top" : "...",               //string, optional, default: 0, min: 0
    "margin_right" : "...",             //string, optional, default: 0, min: 0
    "margin_bottom" : "...",            //string, optional, default: 0, min: 0
    "html_disable_javascript" : "...",  //string, optional, default: false
    "html_hide_images" : "...",         //string, optional, default: false
    "html_hide_backgrounds" : "...",    //string, optional, default: false
    "html_disable_hyperlinks" : "...",  //string, optional, default: false
    "html_zoom" : "..."                 //string, optional, default: 100, min: 0
}

Ejemplo

{
    "api_key" : "64b5d1054b69e676b9984d8406c5209a6ba78",
    "html" : "<h1>Example of h1</h1><p>Example of paragraph.</p>",
    "page_predefined" : "A4",
    "page_width" : 200.55,
    "page_height" : 300.75,
    "page_orientation" : "portrait",
    "page_number" : false,
    "grayscale" : false,
    "margin_left" : 2.45,
    "margin_top" : 2.45,
    "margin_right" : 2.45,
    "margin_bottom" : 2.45,
    "html_disable_javascript" : true,
    "html_hide_images" : false,
    "html_hide_backgrounds" : true,
    "html_disable_hyperlinks" : false,
    "html_zoom" : 50
}

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"
    ]
}