Skip to content

Latest commit

 

History

History
238 lines (164 loc) · 7.9 KB

README.md

File metadata and controls

238 lines (164 loc) · 7.9 KB

BulletPoints

This is a fork from PPTxGenJS

Documentation is for now kept from the fork.

PptxGenJS

JavaScript library that creates PowerPoint presentations

  • Creates presentations on all current web browsers and IE11
  • Slides can include Charts, Images, Media, Shapes, Tables and Text, etc.
  • Powerful HTML-to-PowerPoint feature to transform any HTML table into a presentation
  • Modern, pure JavaScript, promise-based library
  • Only a single dependency (JSZip)
  • Easy Angular/React integration (available via npm, cjs or es files)

Table of Contents


Demo

Use JavaScript to create a PowerPoint presentation with your web browser right now!

The complete library demo is also online.

Installation

CDN

<!-- Bundle: Easiest to use, supports all browsers -->
<script src="https://cdn.jsdelivr.net/gh/gitbrent/[email protected]/dist/pptxgen.bundle.js"></script>

<!-- Individual files: Add only what's needed to avoid clobbering loaded libraries -->
<script src="https://cdn.jsdelivr.net/gh/gitbrent/[email protected]/libs/jszip.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/gitbrent/[email protected]/dist/pptxgen.min.js"></script>

Download

GitHub Latest Release

<!-- Bundle: Easiest to use, supports all browsers -->
<script src="PptxGenJS/libs/pptxgen.bundle.js"></script>

<!-- Individual files: Add only what's needed to avoid clobbering loaded libraries -->
<script src="PptxGenJS/libs/jszip.min.js"></script>
<script src="PptxGenJS/dist/pptxgen.min.js"></script>
<!-- <script src="PptxGenJS/libs/promise.min.js"></script> IE11 requires Promises polyfill -->

Npm

PptxGenJS NPM Home

npm install pptxgenjs --save
let PptxGenJS = require('pptxgenjs')
let pptx = new PptxGenJS()

Yarn

yarn add pptxgenjs

Additional Builds

  • CommonJS: dist/pptxgenjs.cjs.js
  • ES Module: dist/pptxgenjs.es.js

Documentation

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.addSlide()
slide.addText('Hello World from PptxGenJS!', {
    x: 1,
    y: 1,
    w: '80%',
    h: 3,
    color: '363636',
    align: 'center',
    fill: 'f1f1f1'
})
pptx.writeFile('Sample Presentation')

That's really all there is to it!


Library API

Full documentation and code examples are available

Note: Typescript Definitions are included


HTML-to-PowerPoint Feature

Easily convert HTML tables to PowerPoint presentations in a single call.

var pptx = new PptxGenJS()
pptx.tableToSlides('tableId')
pptx.writeFile('HTML-table.pptx')

Learn more:


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.


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

Contributors ✨

Thank you to everyone for the issues, contributions and suggestions! ❤️

Special Thanks:

PowerPoint shape definitions and some XML code via Officegen Project


License

Copyright © 2019-2020 Steve Genoud Copyright © 2015-2019 Brent Ely

MIT