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.
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.
Demo and related workflows
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.