PPT to PDF API Guide

Convert PPT and PPTX slides into downloadable PDFs using file uploads or public links, with optional hidden-slide export for sharing and archiving.

Try the live demoView API details →

Convert PowerPoint to PDF

Turn PPT and PPTX presentations into downloadable PDFs for sharing, review and archiving. Static text, images and shapes are exported in slide order. Font substitutions and complex effects may change appearance; pixel-perfect reproduction, animations and media playback are not guaranteed.

View API details or try the Demo.

Upload a presentation

curl 'https://api.gugudata.io/v1/imagerecognition/ppt-to-pdf?appkey=YOUR_APPKEY' \
  -F 'file=@presentation.pptx' \
  -F 'include_hidden_slides=false'

Alternatively, replace the file part with a public link:

curl 'https://api.gugudata.io/v1/imagerecognition/ppt-to-pdf?appkey=YOUR_APPKEY' \
  -F 'file_url=https://gugudata.io/assets/demo/ppt2images-demo.pptx' \
  -F 'include_hidden_slides=true'

Keep application keys on your server. Send appkey in the query string, not the multipart body.

Parameters and limits

Parameter Required Meaning
file One input A PPT or PPTX upload.
file_url One input Public HTTP(S) link, up to 2048 characters. Use instead of file.
include_hidden_slides No true or false; defaults to false.

Input is limited to 20 MiB and 50 source slides, including hidden slides. Selected blank slides keep their position. A deck with no visible slides requires include_hidden_slides=true. Encrypted, damaged and unsupported presentations are rejected rather than partially exported. PDF output is limited to 20 MiB.

Result

A successful response uses the existing dataStatus envelope and data.pdfPath, a string containing the HTTPS PDF download URL. Check both HTTP status and dataStatus.statusCode === 200 before downloading it.

const result = await response.json();
if (!response.ok || result.dataStatus.statusCode !== 200) {
  throw new Error(result.dataStatus.statusDescription);
}
const pdfUrl = result.data.pdfPath;

The output link is public. Download and retain files according to your requirements; permanent hosting and private access are not promised. Do not submit confidential documents when a public result is unsuitable.

Errors

HTTP Meaning
400 Missing or conflicting inputs, invalid URL or option.
401 / 403 Missing, invalid or unauthorized application key.
413 Input exceeds the file or slide limit.
422 Invalid, encrypted or unsupported presentation, no selected slides, or output too large.
429 Request rate or quota limit.
502 Download or conversion failed, timed out, or returned an invalid result.
503 Conversion is temporarily unavailable.
500 Unexpected internal error.

Parameter failures use business code 400; conversion failures use business code 500. Authentication and quota business codes retain their existing meanings. Avoid automatic repeated conversions; retry deliberately after reviewing the failure.

The Demo converts the four-slide presentation and caches its PDF for 15 minutes. X-GuGuData-Demo-Mode identifies live or cached, and X-GuGuData-Generated-At reports generation time.

Use PPT to Images for individual slide previews, PDF Text Conversion for text workflows, or PDF Splitting to divide documents.