# HTML to PDF

## /html-to-pdf

This endpoint converts HTML content or a webpage to a PDF file. It supports converting either a URL or raw HTML content. The endpoint uses Puppeteer to render the webpage and generate the PDF. If `upload` is set to "Yes", the generated PDF will be uploaded to a file-sharing service, and the response will contain a download link. If `upload` is set to "No", the generated PDF will be returned directly as the response. Any errors during the conversion process will result in an appropriate error response with a status code of 500.

### Request Body (htmlContent OR url)

This endpoint accepts a form-data body with the following fields:

* `url`: (string) The URL of the webpage to convert to PDF.
* `htmlContent`: (string) The raw HTML content to convert to PDF.
* `upload`: (string) Specifies whether to upload the generated PDF or not. Possible values are "Yes" or "No".

### Example:

```json
{
    "htmlContent": "<!DOCTYPE html><html><head><title>My HTML to PDF</title></head><body><h1>Hello, World!</h1></body></html>"
}
```

```json
{
    "url": "http://api.ziomark.xyz/"
}
```

{% hint style="danger" %}
With the "url" method, you cannot download heavy pages, otherwise the call will timeout
{% endhint %}

### Response

Upon successful conversion and upload, the endpoint responds with the URL to the uploaded PDF document.

### Example:

```json
{
    "download_link": "https://file.io/abc123"
}
```

{% hint style="warning" %}
Note: The files is limited to maximum 1 download and will be deleted after
{% endhint %}

### Error Responses

* **Status Code**: `500 Internal Server Error`
  * Body: "Error converting HTML to PDF"
  * Description: Occurs if there's an error during the conversion process.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ziomark.xyz/post-endpoints/html-to-pdf.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
