PHPackages                             powerpoint-engine-api/powerpoint-engine-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. powerpoint-engine-api/powerpoint-engine-php

ActiveLibrary[API Development](/categories/api)

powerpoint-engine-api/powerpoint-engine-php
===========================================

PHP SDK for the PowerPoint Engine API - generate, edit, merge and PDF-convert PowerPoint decks over HTTP

v2.0.0(1mo ago)00MITPHPPHP ^8.0

Since Jul 14Pushed 1mo agoCompare

[ Source](https://github.com/powerpoint-engine-api/powerpoint-engine-php)[ Packagist](https://packagist.org/packages/powerpoint-engine-api/powerpoint-engine-php)[ Docs](https://powerpointengine.io)[ RSS](/packages/powerpoint-engine-api-powerpoint-engine-php/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (2)Used By (0)

PowerPoint Engine — PHP SDK
===========================

[](#powerpoint-engine--php-sdk)

PHP client for the [PowerPoint Engine API](https://powerpointengine.io): generate `.pptx` from Markdown or a structured template, edit / merge / replace inside existing decks, and convert PPTX to PDF — over plain HTTP, no PowerPoint or LibreOffice install needed.

Zero package dependencies — plain curl, PHP 8.0+.

Install
-------

[](#install)

```
composer require powerpoint-engine-api/powerpoint-engine-php
```

Quick start
-----------

[](#quick-start)

```
use PowerPointEngine\PowerPointEngine;

$engine = new PowerPointEngine(); // anonymous: works, but files are watermarked

$result = $engine->generate(download($result, 'review.pptx');
```

Markdown tables become native PowerPoint tables. A fenced ````chart` block under a `## heading` becomes a real editable chart (col / bar / line / pie / combo with a secondary axis).

Work with existing decks
------------------------

[](#work-with-existing-decks)

```
// Replace {{placeholders}} without breaking formatting
$engine->replace('template.pptx', ['client' => 'ACME', 'year' => '2026']);

// Duplicate / delete / reorder slides (1-based)
$engine->edit('deck.pptx', [
    ['op' => 'duplicate', 'slide' => 2],
    ['op' => 'delete', 'slide' => 5],
    ['op' => 'move', 'slide' => 3, 'to' => 1],
]);

// Merge 2-5 decks; each keeps its own design
$engine->merge(['intro.pptx', 'results.pptx', 'outro.pptx']);

// Convert to PDF
$pdf = $engine->toPdf('deck.pptx');
$engine->download($pdf, 'deck.pdf');

// Translate in place (layout preserved)
$engine->translate('deck.pptx', 'Spanish');
```

Every call returns an array with `result.downloadUrl` — a signed link valid for 24 hours. `$engine->download($result, $path)` fetches it.

Branding
--------

[](#branding)

```
$engine->generate(
    "# Deck\n\n## Slide\n- point",
    brand: ['primary' => '#E4002B', 'secondary' => '#111827'],
    font: 'Georgia',
);
```

Accounts and credits
--------------------

[](#accounts-and-credits)

Pass your account id to tie calls to your quota and remove the watermark (Pro plan):

```
$engine = new PowerPointEngine(sessionId: 'your-account-id');
```

Billing is credit-based: 1 credit = up to 10 slides. Free tier: 5 credits/month (watermarked); Pro ($9/mo) removes the watermark. Details: [powerpointengine.io/#pricing](https://powerpointengine.io/#pricing).

AI agents
---------

[](#ai-agents)

The same engine is exposed as a remote [MCP server](https://powerpointengine.io/llms.txt) — one line in Claude Code / any MCP client:

```
claude mcp add --transport http powerpoint-engine https://powerpointengine.io/api/mcp/mcp
```

Errors
------

[](#errors)

Failed calls throw `PowerPointEngine\PowerPointEngineException`; `getStatusCode()` returns the HTTP status (400 validation, 429 rate limit, 5xx server).

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance90

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

47d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d9fee8f0c46fd22feabe8859778fa57ae374f278b3bdbdc9a49ce43555001091?d=identicon)[powerpoint-engine-api](/maintainers/powerpoint-engine-api)

---

Top Contributors

[![skippdot](https://avatars.githubusercontent.com/u/59963936?v=4)](https://github.com/skippdot "skippdot (2 commits)")

---

Tags

apipdfsdkmarkdownpptxPowerPointpresentation

### Embed Badge

![Health badge](/badges/powerpoint-engine-api-powerpoint-engine-php/health.svg)

```
[![Health](https://phpackages.com/badges/powerpoint-engine-api-powerpoint-engine-php/health.svg)](https://phpackages.com/packages/powerpoint-engine-api-powerpoint-engine-php)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
