Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including unoconv with all npm packages installed. Try it out:

var unoconv = require("unoconv")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

unoconv v0.1.2

Wrapper for converting documents with unoconv.

node-unoconv

A node.js wrapper for converting documents with unoconv.

Requirements

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

Install

Install with:

npm install unoconv

Converting documents

var unoconv = require('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.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free