PHP code example of particle-academy / dark-slide
1. Go to this page and download the library: Download particle-academy/dark-slide library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
particle-academy / dark-slide example snippets
use DarkSlide\Agent;
$deck = [
'id' => 'demo',
'title' => 'My deck',
'theme' => ['name' => 'default'],
'slides' => [
[
'id' => 's1',
'layout' => 'title',
'elements' => [
[
'id' => 'e1',
'type' => 'text',
'x' => 0.1, 'y' => 0.4, 'w' => 0.8, 'h' => 0.2,
'content' => 'Welcome to dark-slide',
'format' => 'plain',
'style' => ['fontSize' => 56, 'weight' => 'bold', 'align' => 'center'],
],
],
],
],
];
// Validate before writing — catches malformed agent output
$errors = Agent::validate($deck);
if (!empty($errors)) {
foreach ($errors as $e) {
echo "{$e['path']}: expected {$e['expected']}, got {$e['got']}\n";
}
exit(1);
}
// Write to disk
$result = Agent::write($deck, '/tmp/my-deck.pptx');
// $result === ['path' => '/tmp/my-deck.pptx', 'bytes' => 18432, 'slides' => 1]
// Or get the bytes in memory (no temp file)
$bytes = Agent::toBytes($deck);
use DarkSlide\Laravel\Facades\DarkSlide;
DarkSlide::write($deck, storage_path('app/decks/demo.pptx'));
return response(DarkSlide::toBytes($deck), 200, [
'Content-Type' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'Content-Disposition' => 'attachment; filename="demo.pptx"',
]);