xfdf

1.0.0 • Public • Published

XFDF

A Node.js module for creating Adobe XFDF files.

Build Status

Installation

npm install xfdf

Always good to run tests

npm test

Synoptic

var xfdf = require('xfdf')

var builder = new xfdf({ pdf: 'Document.pdf' });

builder.addField('firstname', 'John');

console.log(builder.generate());

calling generate() will create:

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
  <f href="Document.pdf"/>
  <fields>
    <field name="firstname">
      <value>John</value>
    </field>
  </fields>
</xfdf>

Options

When constructing an xfdf builder there are several options that can be passed.

  new xfdf({
    pdf: 'path/to/document.pdf',
    translateBools: true,
    format: {
      pretty: false,
      indent: '  ',
      newline: '\r\n'
    }
  });

pdf

This is the location of the template pdf to be refrenced in the xfdf document.

translateBools

This will translate booleans in a javascript literal to 'Yes' or 'Off', which are used to flag checkboxes or radios in Adobe forms

default: true

format

This module uses xmlbuilder to construct the xfdf xml document. xmlbuilder has several formating options which can be specified when creating the xml document. You can see those options here

default:

  pretty: true
  indent: '  '
  newline: '\n'

Methods

addField('fieldname', 'fieldvalue')

Will add a field to xfdf document. Argument should be a hash with two keys: name, value;

  builder.addField('FieldName', 'FieldValue');

fromJSON({data})

You can use this method to pass an entire javascript literal to be consumed by the XFDF builder. Format of object should be:

  {
    fields: {
      age: 32,
      tall: true,
      name: 'John Doe'
    }
  }

fromJSONFile('path', callback)

Used to slurp a correctly formatted json file.

Usage: see test/resources/test.json for a properly formatted file.

  builder.fromJSONFile('/path/to/data.json', function(err) {
    if ( !err ) 
      builder.generate(); 
  });

Readme

Keywords

Package Sidebar

Install

npm i xfdf

Weekly Downloads

497

Version

1.0.0

License

MIT

Unpacked Size

15.5 kB

Total Files

8

Last publish

Collaborators

  • scottsoneal