Skip to content

colmben/docxtemplater-chart-module

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chart module for docxtemplater.

this module has only simple usage yet, contact me on [email protected] or @prog666 in telegram if you want to help me with this

Join the chat at https://gitter.im/prog666/docxtemplater-chart-module

Build Status Download count Current tag Issues closed

Installation:

You will need docxtemplater v1: npm install docxtemplater

install this modile: npm install docxtemplater-chart-module

Usage

Your docx should contain the text: {$chart}

var fs = require('fs');
var ChartModule = require(‘docxtemplater-chart-module’);
var chartModule = new ChartModule();

var docx = new DocxGen()
  .attachModule(chartModule)
  .load(content)
  .setData({
    chart: {
      lines: [
        {
          name: 'line 1',
          data: [
            {
              x: 'day 1',
              y: '4.3'
            },
            {
              x: 'day 2',
              y: '2.5'
            },
            {
              x: 'day 3',
              y: '3.5'
            }
          ]
        },
        {
          name: 'line 2',
          data: [
            {
              x: 'day 1',
              y: '2.4'
            },
            {
              x: 'day 2',
              y: '4.4'
            },
            {
              x: 'day 3',
              y: '1.8'
            }
          ]
        }
      ]
    }
  })
  .render();

var buffer = docx
  .getZip()
  .generate({type:"nodebuffer"});

fs.writeFile("test.docx", buffer);

Options

Defaults

defaultOptions = {
  width: 5486400 / 9525,
  height: 3200400 / 9525,
  grid: true,
  border: true,
  title: false,
  legend: {
    position: 'r', // 'l', 'r', 'b', 't'
  },
  axis: {
    x: {
      orientation: 'minMax', // 'maxMin'
      min: undefined, // number
      max: undefined,
      type: undefined, // 'date'
      date: {
        format: 'unix',
        code: 'mm/yy', // "m/yy;@"
        unit: 'months', // "days"
        step: '1'
      }
    },
    y: {
      orientation: 'minMax',
      mix: undefined,
      max: undefined
    }
  }
}

Building

You can build the coffee into js by running gulp (this will watch the directory for changes)

Testing

You can test that everything works fine using the command mocha. This will also create 3 docx files under the root directory that you can open to check if the docx are correct

Changelog

0.3.0

  • Border option, enabled by default

0.2.1

  • bug fixes

0.2.0

  • title option, disabled by default

0.1.0

  • steps for date type

0.0.9

  • type 'date' support
  • time format in 'unix' or '1900' (amount of days since 1900)
  • units for steps on axis
  • formatCode for like i.e: 'd/m/yy' or 'm/yyyy'

0.0.8

  • grid option

0.0.7

  • lines on axis are still stacking, sadly

0.0.6

  • x and y axises flipped in options, now correct

0.0.5

  • min and max axis values options added
  • options are nested now for easier readability

About

docx charts generation module for docxtemplater

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 75.5%
  • JavaScript 24.5%