Tutorial2026-04-137 min

How to Convert PDF to Editable PowerPoint via API

Convert PDFs back to editable .pptx with real shapes and text — not rasterized images. Vector extraction from PowerPoint, Keynote, Google Slides, Canva exports. $0.01/page.

SlideForge can convert a PDF back into an editable .pptx file — with real text boxes, shapes, and images — not a rasterized image pasted onto a slide. Upload a PDF exported from PowerPoint, Keynote, Google Slides, Canva, or LaTeX Beamer, and get an editable deck in seconds. $0.01 per page, fully automated via API.

The problem: PDFs are a dead end

You receive a competitor's deck as a PDF. A client sends last quarter's board presentation. Your design team exports to PDF “for safety.” Now you need to update one number, swap a logo, or translate it into German. You can't. The PDF is a sealed format.

The usual options are terrible:

  • Adobe Acrobat “Export to PowerPoint” — rasterizes every element into background images. Text boxes are fake overlays. Fonts don't match.
  • SmallPDF / iLovePDF / CloudConvert — same approach. OCR + image paste. Not editable in any meaningful way.
  • Manual recreation — open the PDF, squint at the layout, rebuild it from scratch in PowerPoint. Takes hours per deck.

How SlideForge does it differently: vector extraction

SlideForge doesn't OCR your PDF. It reads the actual vector content stream — the same drawing commands that placed shapes, positioned text runs, and embedded images. The engine reconstructs these as real PowerPoint objects: text boxes with the original font and size, rectangles with the original fill colors, images at their source resolution.

The result: you open the .pptx in PowerPoint and click on any element. It's a real shape. You can edit the text, change the color, move it, delete it.

Step 1: Analyze (free)

Before converting, check what you're working with. The analyze endpoint inspects the PDF and returns metadata, page count, producer classification, and estimated cost — without creating a job or charging anything.

curl -X POST https://api.slideforge.dev/v1/deck/from-pdf/analyze \
  -H "Authorization: Bearer sf_live_YOUR_KEY" \
  -F "file=@quarterly-review.pdf"

# Response:
# {
#   "page_count": 24,
#   "producer": "Microsoft PowerPoint",
#   "bucket": "powerpoint",
#   "can_extract": true,
#   "estimated_cost_usd": 0.24,
#   "file_size_bytes": 4821504
# }

The can_extract field tells you whether the PDF has vector content the engine can process. The bucket classifies the source application.

Step 2: Convert

curl -X POST https://api.slideforge.dev/v1/deck/from-pdf \
  -H "Authorization: Bearer sf_live_YOUR_KEY" \
  -F "file=@quarterly-review.pdf" \
  -F "name=Q3 Review (converted)"

# Response (202 Accepted):
# {
#   "job_id": "pdf-a1b2c3d4",
#   "status": "generating",
#   "page_count": 24,
#   "estimated_cost_usd": 0.24
# }

Poll GET /v1/jobs/{job_id} for progress. The response includes per-page extraction updates so you can show a progress bar. When complete, download the .pptx via pptx_url.

Python example

import requests, time

API = "https://api.slideforge.dev"
HEADERS = {"Authorization": "Bearer sf_live_YOUR_KEY"}

# 1. Upload and convert
with open("quarterly-review.pdf", "rb") as f:
    resp = requests.post(
        f"{API}/v1/deck/from-pdf",
        headers=HEADERS,
        files={"file": f},
    )
job_id = resp.json()["job_id"]

# 2. Poll until complete (~1s per page)
while True:
    status = requests.get(f"{API}/v1/jobs/{job_id}", headers=HEADERS).json()
    if status["status"] == "complete":
        print(f"Download: {status['pptx_url']}")
        break
    if status["status"] == "failed":
        print(f"Error: {status.get('error')}")
        break
    time.sleep(2)

What gets preserved

  • Text — original font family, size, color, bold/italic. Each text run is a separate PowerPoint text run, not a merged blob.
  • Shapes — rectangles, rounded rects, ovals, lines, arrows, freeform paths. Fill colors and outlines preserved.
  • Images — embedded at source resolution. Raster images (logos, photos) extracted and placed at their original coordinates.
  • Tables — reconstructed as PowerPoint table objects with individual cells.
  • Layout — element positioning matches the original PDF coordinates, mapped to PowerPoint's 13.33” × 7.5” slide dimensions.

Supported PDF sources

The engine works best with PDFs exported from presentation tools:

  • Microsoft PowerPoint
  • Apple Keynote / Quartz PDFContext
  • Google Slides
  • Canva
  • LaTeX Beamer
  • LibreOffice Impress

The /analyze endpoint tells you whether a specific PDF is supported before you spend anything. Scanned PDFs (image-only) and text-heavy documents (reports, contracts) are on the roadmap but not yet supported.

Pricing

$0.01 per page. A 24-page deck costs $0.24. The analyze step is free. Failed extractions are refunded automatically.

Compare that to manual recreation (hours of designer time) or Adobe Acrobat Pro ($20/month for results you can't actually edit).

Via MCP

If you're using Claude Desktop or another MCP client, the upload_file tool accepts PDFs with purpose: "pdf". The agent handles the upload, polls for completion, and shows you the editable preview inline.

Get started

Sign up for $3 free credit (enough for 300 pages of PDF conversion), or read the quickstart to connect via MCP.

Frequently asked questions

Can SlideForge convert any PDF to PowerPoint?

Currently, SlideForge supports PDFs exported from presentation tools (PowerPoint, Keynote, Google Slides, Canva, LaTeX Beamer). Scanned PDFs and text-heavy documents are on the roadmap. The free /analyze endpoint tells you whether your PDF is supported before you spend anything.

How is this different from Adobe Acrobat PDF-to-PPTX?

Adobe Acrobat rasterizes content into background images with fake text overlays. SlideForge uses vector extraction — it reads the actual drawing commands and reconstructs real PowerPoint shapes, text boxes, and images. The output is genuinely editable.

How much does PDF to PowerPoint conversion cost?

$0.01 per page. A 24-page deck costs $0.24. The analyze step is free. Failed extractions are refunded automatically.

Try SlideForge free

$3 credit, no card required. Generate your first slide in under a minute.