better-unoconv

A better wrapper for converting documents with unoconv.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
better-unoconv
301.0.36 years ago6 years agoMinified + gzip package size for better-unoconv in KB

Readme

better-unoconv
A better node.js wrapper for converting documents with unoconv that runs on node v7.x.

Requirements

Unoconv is required, which requires LibreOffice (or OpenOffice.)

Install

Install with:
npm install unoconv

Converting documents

var unoconv = require('better-unoconv');

unoconv.convert('document.docx', 'pdf', function (err, result) {
	// result is returned as a Buffer
	fs.writeFile('converted.pdf', result);
});

Starting a listener

You can also start a unoconv listener to avoid launching Libre/OpenOffice on every conversion:
unoconv.listen();

API

unoconv.convert(file, outputFormat, options, callback)

Converts file to the specified outputFormat. options is an object with the following properties:
  • bin Path to the unoconv binary
  • port Unoconv listener port to connect to

callback gets the arguments err and result. result is returned as a Buffer object.

unoconv.listen(options)

Starts a new unoconv listener. options accepts the same parameters as convert().
Returns a ChildProcess object. You can handle errors by listening to the stderr property:
var listener = unoconv.listen({ port: 2002 });

listener.stderr.on('data', function (data) {
	console.log('stderr: ' + data.toString('utf8'));
});

unoconv.detectSupportedFormats(options, callback)

This function parses the output of unoconv --show to attempt to detect supported output formats.
options is an object with the following properties:
  • bin Path to the unoconv binary

callback gets the arguments err and result. result is an object containing a collection of supported document types and output formats.