All Projects → PHPOffice → Phppresentation

PHPOffice / Phppresentation

Licence: other
A pure PHP library for reading and writing presentations documents

Projects that are alternatives of or similar to Phppresentation

Desktopeditors
An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents
Stars: ✭ 1,008 (-3.45%)
Mutual labels:  presentation, ppt, office
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+123.66%)
Mutual labels:  presentation, ppt, office
Docs2Pdf
Bulk convert word/powerpoint/excel file to pdf.
Stars: ✭ 27 (-97.41%)
Mutual labels:  office, powerpoint
markdown-deck
A web component for presenters
Stars: ✭ 15 (-98.56%)
Mutual labels:  presentation, ppt
craXcel-cli
Command line application to unlock Microsoft Office password protected files.
Stars: ✭ 44 (-95.79%)
Mutual labels:  office, powerpoint
ppt-ndi
A PowerPoint plugin for the NewTek NDI integration
Stars: ✭ 151 (-85.54%)
Mutual labels:  powerpoint, ppt
OfficeExtractor
Extracts embedded OLE objects from Word, Excel, PowerPoint, Open Office and RTF files without needing the original programs
Stars: ✭ 67 (-93.58%)
Mutual labels:  office, powerpoint
websites
🔗 Effective Websites Collections
Stars: ✭ 55 (-94.73%)
Mutual labels:  office, ppt
Powerpointlabs
This is the project for PowerPointLabs, a productivity add-in for PowerPoint
Stars: ✭ 106 (-89.85%)
Mutual labels:  powerpoint, office
React Presents
React slideshow framework
Stars: ✭ 454 (-56.51%)
Mutual labels:  powerpoint, presentation
Online
Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
Stars: ✭ 278 (-73.37%)
Mutual labels:  hacktoberfest, office
Pptist
基于 Vue3.x + TypeScript 的在线演示文稿应用。实现PPT幻灯片的在线编辑、演示。
Stars: ✭ 559 (-46.46%)
Mutual labels:  ppt, office
Office365FiddlerExtension
This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.
Stars: ✭ 23 (-97.8%)
Mutual labels:  office, powerpoint
Medi-Consult
Diseases Checker Application 🚑 | Android Application
Stars: ✭ 38 (-96.36%)
Mutual labels:  presentation, ppt
RemixIcon-Slides
Remix Icon for PowerPoint and Keynote
Stars: ✭ 50 (-95.21%)
Mutual labels:  powerpoint, ppt
Office Ribbonx Editor
An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF
Stars: ✭ 205 (-80.36%)
Mutual labels:  powerpoint, office
ShapeCrawler
A .NET library for manipulating PowerPoint presentations.
Stars: ✭ 88 (-91.57%)
Mutual labels:  presentation, powerpoint
Ferdi
🧔🏽 Ferdi helps you organize how you use your favourite apps by combining them into one application
Stars: ✭ 4,089 (+291.67%)
Mutual labels:  hacktoberfest, office
Mschart
📊 mschart: office charts from R
Stars: ✭ 94 (-91%)
Mutual labels:  powerpoint, office
rgpipe
lesspipe for ripgrep for common new filetypes using few dependencies
Stars: ✭ 21 (-97.99%)
Mutual labels:  office, powerpoint

PHPPresentation

Latest Stable Version Code Climate Test Coverage Total Downloads License BountySource Join the chat at https://gitter.im/PHPOffice/PHPPresentation

Branch Master : Build Status Documentation Status Branch Develop : Build Status Documentation Status

PHPPresentation is a library written in pure PHP that provides a set of classes to write to different presentation file formats, i.e. Microsoft Office Open XML (OOXML or OpenXML) or OASIS Open Document Format for Office Applications (OpenDocument or ODF).

PHPPresentation is an open source project licensed under the terms of LGPL version 3. PHPPresentation is aimed to be a high quality software product by incorporating continuous integration and unit testing. You can learn more about PHPPresentation by reading the Developers' Documentation and the API Documentation.

Read more about PHPPresentation:

Features

  • Create an in-memory presentation representation
  • Set presentation meta data (author, title, description, etc)
  • Add slides from scratch or from existing one
  • Supports different fonts and font styles
  • Supports different formatting, styles, fills, gradients
  • Supports hyperlinks and rich-text strings
  • Add images with different styles (positioning, rotation, shadow)
  • Set printing options (header, footer, page margins, paper size, orientation)
  • Set transitions between slides
  • Output to different file formats: PowerPoint 2007 (.pptx), OpenDocument Presentation (.odp), Serialized Presentation)
  • ... and lots of other things!

Requirements

PHPPresentation requires the following:

Installation

Composer method

It is recommended that you install the PHPPresentation library through composer. To do so, add the following lines to your composer.json.

{
    "require": {
       "phpoffice/phppresentation": "dev-master"
    }
}

Manual download method

Alternatively, you can download the latest release from the releases page. In this case, you will have to register the autoloader. (Register autoloading is required only if you do not use composer in your project.)

require_once 'path/to/PhpPresentation/src/PhpPresentation/Autoloader.php';
\PhpOffice\PhpPresentation\Autoloader::register();

You will also need to download the latest PHPOffice/Common release from its releases page. And you will also have to register its autoloader, too.

require_once 'path/to/PhpOffice/Common/src/Common/Autoloader.php';
\PhpOffice\Common\Autoloader::register();

Getting started

The following is a basic usage example of the PHPPresentation library.

// with your own install
require_once 'src/PhpPresentation/Autoloader.php';
\PhpOffice\PhpPresentation\Autoloader::register();
require_once 'src/Common/Autoloader.php';
\PhpOffice\Common\Autoloader::register();

// with Composer
require_once 'vendor/autoload.php';

use PhpOffice\PhpPresentation\PhpPresentation;
use PhpOffice\PhpPresentation\IOFactory;
use PhpOffice\PhpPresentation\Style\Color;
use PhpOffice\PhpPresentation\Style\Alignment;

$objPHPPowerPoint = new PhpPresentation();

// Create slide
$currentSlide = $objPHPPowerPoint->getActiveSlide();

// Create a shape (drawing)
$shape = $currentSlide->createDrawingShape();
$shape->setName('PHPPresentation logo')
      ->setDescription('PHPPresentation logo')
      ->setPath('./resources/phppowerpoint_logo.gif')
      ->setHeight(36)
      ->setOffsetX(10)
      ->setOffsetY(10);
$shape->getShadow()->setVisible(true)
                   ->setDirection(45)
                   ->setDistance(10);

// Create a shape (text)
$shape = $currentSlide->createRichTextShape()
      ->setHeight(300)
      ->setWidth(600)
      ->setOffsetX(170)
      ->setOffsetY(180);
$shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER );
$textRun = $shape->createTextRun('Thank you for using PHPPresentation!');
$textRun->getFont()->setBold(true)
                   ->setSize(60)
                   ->setColor( new Color( 'FFE06B20' ) );

$oWriterPPTX = IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007');
$oWriterPPTX->save(__DIR__ . "/sample.pptx");
$oWriterODP = IOFactory::createWriter($objPHPPowerPoint, 'ODPresentation');
$oWriterODP->save(__DIR__ . "/sample.odp");

More examples are provided in the samples folder. You can also read the Developers' Documentation and the API Documentation for more detail.

Contributing

We welcome everyone to contribute to PHPPresentation. Below are some of the things that you can do to contribute:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].