Skip to content

Latest commit

 

History

History

abstract-document

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

abstract-document

npm version code style: prettier MIT license

Create documents using functions, JSX, or XML and render to any format.

Introduction

When dynamically creating complex documents, traditional reporting packages with WYSIWYG interfaces can make documents cumbersome to design, difficult to provide data for, hard to debug, and mostly get in your way. This library offers a solution by allowing you to create an abstract representation of a document using code (function calls or JSX). This abstract representation can then be rendered to any format such as .pdf, .docx etc. It is also possible to embed abstract-image images into the document.

Installation

npm install --save abstract-document

The library is compiled to ES5 and no polyfills are required.

Usage

const doc = render(
  <AbstractDoc>
    <Section page={page}>
      <Paragraph>
        <TextRun text="Test" />
      </Paragraph>
      {["a", "b", "c"].map((c) => (
        <Paragraph key={c}>
          <TextRun text={c} />
        </Paragraph>
      ))}
      <Paragraph />
    </Section>
  </AbstractDoc>
);