Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 1.67 KB

File metadata and controls

45 lines (35 loc) · 1.67 KB

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>
);