XLSX to PNG API

Convert XLSX files to PNG images using our XLSX to PNG API.

Try It Out

This example will convert your uploaded XLSX file to a PNG image.

1

Use Your Free Credits

Sign up to get 100 free credits, or log in to automatically add your API key to sample code.

Add a File

Add a XLSX file named document.xlsx to your project folder. You can also use our sample file.

Run a Command

Copy the curl command and run it in that same folder via the terminal or your editor’s terminal.

View the Results

Open image.png in your project folder to view the results.

Shell
    curl -X POST https://api.pspdfkit.com/build \
        -H "Authorization: Bearer your_api_key_here" \
        -o image.png \
        -F document=@document.xlsx \
        -F instructions='{
            "parts": [
              { "file": "document" }
            ],
            "output": {
              "type": "image",
              "format": "png",
              "dpi": 500
            }
          }'

            
Using Postman? Download our official collection and start using the API with a single click. Read more 

Your API Key

Rendering a Single Page

The default is to render the first page, but you can also render any other page of the document by adding the pages option.

This will render the fifth page (remember pages are indexed starting from 0):

        "output": {
          "type": "image",
          "pages": {"start": 4, "end": 4},
          "format": "png",
          "width": 500
        }
                  

Rendering Multiple Pages

In addition to rendering just a single page (the default is the first), you can also render multiple pages at the same time. Simply add the pages option.

Note: You can only render 50 pages in a single request. Requesting more than 50 pages will result in a status 400 being returned.

The following example will return a ZIP file containing all pages:

        "output": {
          "type": "image",
          "pages": {"start": 0, "end": -1},
          "format": "png",
          "width": 500
        }
                  

You can also render a subset of pages. This will render pages 2, 3, and 4:

        "output": {
          "type": "image",
          "pages": {"start": 1, "end": 3},
          "format": "png",
          "width": 500
        }
                  

The files in the ZIP file will be named <page_number>.png

Controlling Image Dimensions

You can give the output images a specific width or height, or you can render them with a specific resolution. You can only choose one of those three options. Specifying more than one will result in a status 400 being returned.

Depending on which option you choose, one or both dimensions will be determined based on the dimensions of the page in the document. The following will go into detail about each of the three options.

Note: There is a limit to the final resolution of the resulting images. Any image is not allowed to be bigger than 34 million pixels (4960×7016px), regardless of the aspect ratio. Requesting a bigger image will result in a status 400 being returned.

You can specify the width. In this case, all rendered pages will have the same width, but they’ll have varying heights depending on the page dimensions in the document:

        "output": {
          "type": "image",
          "format": "png",
          "width": 768
        }
                  

You can specify the height. In this case, all rendered pages will have the same height, but they’ll have varying widths depending on the page dimensions in the document:

        "output": {
          "type": "image",
          "format": "png",
          "height": 1024
        }
                  

And finally, you can specify the dpi. In this case, the width and height of the rendered pages depends only on the page dimensions:

        "output": {
          "type": "image",
          "format": "png",
          "dpi": 72
        }