Files
docx-js/README.md
2017-03-13 00:57:57 +00:00

4.5 KiB

clippy the assistant

Generate .docx files with JS/TS very easily

=====

NPM version Build Status Dependency Status Known Vulnerabilities

docx

A tool to create Word Documents (.docx) with JS or TS, written in TS.

NPM

Table of Contents

Install

$ npm install --save docx

Demo

$ npm run demo

will run the demo app in the demo folder, which creates a file called "My Document.docx" in the root of the project

Guide

Please refer to the Wiki for details on how to use this library, examples and much more!

Usage

// Used to create docx files
var docx = require('docx');

// Create document
var doc = new docx.Document();

// Used to export the file into a .docx file
// res is express' Response object
var exporter = new docx.ExpressPacker(doc, res);
var exporter = new docx.LocalPacker(doc);

Create simple Word Document

var doc = new docx.Document();
        
var paragraph = new docx.Paragraph();
var text = new docx.TextRun('Hello World');
paragraph.addText(text);
doc.addParagraph(paragraph);

Document properties

You can add properties to the Word document by specifying options, for example:

var doc = new docx.Document({
    creator: 'Dolan Miu',
    description: 'My extremely interesting document',
    title: 'My Document'
});

Full list of options:

creator
description
title
subject
keywords
lastModifiedBy
revision

You can mix and match whatever properties you want, or provide no properties.

Create Paragraph

Every text block in OpenXML is organised in paragraphs. You can add more text to the paragraph by doing this:

var paragraph = new docx.Paragraph(),
var text = new docx.TextRun('Lorem Ipsum Foo Bar');
var paragraph = new docx.Paragraph();
paragraph.addText(text);
var paragraph = new docx.Paragraph("Short hand notation for adding text.");

After you create the paragraph, you must add the paragraph into the document:

doc.addParagraph(paragraph);

Styles

Styles is a very important part of the look of a word document. At the moment, only headings and title is supported, but son the rest will be supported along with custom styles!

Word 2013 Styles menu

Heading1 - Heading5

paragraph.heading1();
paragraph.heading2();
paragraph.heading3();
paragraph.heading4();
paragraph.heading5();

Title

paragraph.title();

Text Alignment

To change the text alignment of a paragraph, for center, left, right or justified:

paragraph.center();
paragraph.left();
paragraph.right();
paragraph.justified();

Example

paragraph.heading1().center();

The above will create a heading 1 which is centered.

Thematic Break

To add a break in the page, simply add .thematicBreak() on a paragraph:

var paragraph = new docx.Paragraph("Amazing Heading").heading1().thematicBreak();

The above example will create a heading with a page break directly under it.

Page Break

To move to a new page (insert a page break), simply add .pageBreak() on a paragraph:

var paragraph = new docx.Paragraph("Amazing Heading").heading1().pageBreak();

The above example will create a heading and start a new page immediately afterwards.

Exporting

Check the Wiki for exporting guide

Examples

Check the Wiki for examples

=====

Made with 💖