GithubHelp home page GithubHelp logo

isabella232 / pptxgenjs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from orange-opensource/pptxgenjs

0.0 0.0 0.0 25.05 MB

JavaScript library that creates PowerPoint (pptx) presentations

Home Page: https://gitbrent.github.io/PptxGenJS/

License: MIT License

JavaScript 100.00%

pptxgenjs's Introduction

Open Source Love MIT Licence npm version npm downloads

PptxGenJS

JavaScript library that produces PowerPoint (pptx) presentations

Quickly and easily create PowerPoint presentations with a few simple JavaScript commands in client web browsers or Node desktop apps.

Main Features

  • Widely Supported: Creates and downloads presentations on all current web browsers (Chrome, Edge, Firefox, etc.) and IE11
  • Full Featured: Slides can include Charts, Images, Media, Shapes, Tables and Text (plus Master Slides/Templates)
  • Easy To Use: Entire PowerPoint presentations can be created in a few lines of code
  • Modern: Pure JavaScript solution - everything necessary to create PowerPoint PPT exports is included

Additional Features

  • Use the unique HTML-to-PowerPoint feature to copy an HTML table into 1 or more Slides with a single command

Table of Contents (generated with DocToc)


Live Demo

Use JavaScript to Create a PowerPoint presentation with your web browser right now: https://gitbrent.github.io/PptxGenJS

Installation

Client-Side

Include Local Scripts

<script lang="javascript" src="PptxGenJS/libs/jquery.min.js"></script>
<script lang="javascript" src="PptxGenJS/libs/jszip.min.js"></script>
<script lang="javascript" src="PptxGenJS/dist/pptxgen.js"></script>
  • IE11 support requires a Promises polyfill as well (included in the libs folder)

Include Bundled Script

<script lang="javascript" src="PptxGenJS/dist/pptxgen.bundle.js"></script>
  • Bundle script includes all libraries: jQuery + JSzip + PptxGenJS + Promises

Install With Bower

bower install pptxgen

Node.js

PptxGenJS NPM Homepage

npm install pptxgenjs

var pptx = require("pptxgenjs");
  • Desktop: Compatible with Electron applications

Quick Start Guide

PptxGenJS PowerPoint presentations are created via JavaScript by following 4 basic steps:

  1. Create a new Presentation
  2. Add a Slide
  3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
  4. Save the Presentation
var pptx = new PptxGenJS();
var slide = pptx.addNewSlide();
slide.addText('Hello World!', { x:1.5, y:1.5, fontSize:18, color:'363636' });
pptx.save('Sample Presentation');

That's really all there is to it!


Library API

Presentation Creation/Options

Creating a Presentation Presentation Options

Slide Creation/Options

Adding a Slide Slide Options

Saving a Presentation

Saving a Presentation

Master Slides and Corporate Branding

Master Slides

Adding Charts

Adding Charts

Adding Images

Adding Images

Adding Media (Audio/Video/YouTube)

Adding Media

Adding Shapes

Adding Shapes

Adding Tables

Adding Tables

Adding Text

Adding Text

Including Speaker Notes

Speaker Notes

Using Scheme Colors

Using Scheme Colors


HTML-to-PowerPoint Feature

HTML-to-PowerPoint


Integration with Other Libraries

Integration with Other Libraries


Full PowerPoint Shape Library

If you are planning on creating Shapes (basically anything other than Text, Tables or Rectangles), then you'll want to include the pptxgen.shapes.js library.

The shapes file contains a complete PowerPoint Shape object array thanks to the officegen project.

<script lang="javascript" src="PptxGenJS/dist/pptxgen.shapes.js"></script>

Issues / Suggestions

Please file issues or suggestions on the issues page on github, or even better, submit a pull request. Feedback is always welcome!

When reporting issues, please include a code snippet or a link demonstrating the problem. Here is a small jsFiddle that is already configured and uses the latest PptxGenJS code.


Need Help?

Sometimes implementing a new library can be a difficult task and the slightest mistake will keep something from working. We've all been there!

If you are having issues getting a presentation to generate, check out the demos in the examples directory. There are demos for both Nodejs and client-browsers that contain working examples of every available library feature.


Version 2.0 Breaking Changes

Please note that version 2.0.0 enabled some much needed cleanup, but may break your previous code... (however, a quick search-and-replace will fix any issues).

While the changes may only impact cosmetic properties, it's recommended you test your solutions thoroughly before upgrading PptxGenJS to the 2.0 version.

All Users

The library getVersion() method is now a property: version

Option names are now caseCase across all methods:

  • font_face renamed to fontFace
  • font_size renamed to fontSize
  • line_dash renamed to lineDash
  • line_head renamed to lineHead
  • line_size renamed to lineSize
  • line_tail renamed to lineTail

Options deprecated in early 1.0 versions (hopefully nobody still uses these):

  • marginPt renamed to margin

Node Users

Major Change

  • require('pptxgenjs') no longer returns a singleton instance
  • pptx = new PptxGenJS() will create a single, unique instance
  • Advantage: Creating multiple presentations is much easier now - see Issue #83 for more).

Unimplemented Features

The PptxGenJS library is not designed to replicate all the functionality of PowerPoint, meaning several features are not on the development roadmap.

These include:

  • Animations
  • Importing Existing Presentations and/or Templates
  • Outlines
  • SmartArt

Special Thanks


Support Us

Do you like this library and find it useful? Tell the world about us! PptxGenJS project

Thanks to everyone who supports this project! <3


License

Copyright © 2015-2018 Brent Ely

MIT

pptxgenjs's People

Contributors

amgault avatar clubajax avatar dzmitrydulko avatar edvinasbartkus avatar ellisgl avatar gitbrent avatar guipas avatar hilnius avatar ielijose avatar krishnatejareddyv avatar kyrrigle avatar mconlin avatar mreilaender avatar pdehaan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.