How to enable importing and exporting different file formats with AbiWord

John McLear edited this page Sep 23, 2015 · 4 revisions



For Developers

How to's

Set up

Advanced steps

Integrating Etherpad in your web app

for Developers

Clone this wiki locally

Etherpad depends on AbiWord to import and export different file formats such as PDF, ODF and MS Word.


The installation can be done through the command line. Copy and paste then execute the following, line by line:

sudo apt-get update
sudo apt-get install abiword

The abiword executable should now be installed to /usr/bin/abiword but you can confirm this by running which abiword. Make a note of the path.

OpenSuse 11.4

  • Install abiword by using YaST

Download and compile abiword on SLE-11 (Suse-Linux Enterprise Edition)

  • download the latest abiword release and untar to its subdirectory (on my system, there was a problem which I could overcome by disabling gnome-vfs):
 ./configure --enable-plugins="command" --without-gnomevfs
 make install


# pkg install abiword
Please note that Abiword will be installed as /usr/local/bin/abiword (not /usr/bin/abiword)

Test Abiword installation

 # which abiword
 # abiword --plugin=AbiCommand
 AbiWord command line plugin: Type "quit" to exit

Set up Etherpad to use abiword

Now you need to configure Etherpad to your AbiWord installation. Open {path to etherpad}settings.json in a text editor. If you want to use VIM from the command line, assuming Etherpad is installed to /usr/local/etherpad-lite, run sudo vim /usr/local/etherpad-lite.

Find the line that says:

"abiword" : null,

and change it to:

"abiword" : "/usr/bin/abiword",

Use the path to AbiWord noted above. To do this in VIM:

  1. Press i to enter INSERT mode
  2. Find the 'abiword' configuration and change it
  3. Save and close by pressing <escape> then :wq then <enter>

Restart the Etherpad service by running sudo restart etherpad-lite.


There is an option to tidy up the HTML that etherpad generates before converting it to PDF with abiword. This has the benefit that complex markup generated by users can sometimes be simplified. This can be enabled by configuring the tidyHtml value in the settings.json file.

Find the line that says:

"tidyHtml" : null,

and change it to:

"tidyHtml" : "/usr/bin/tidy",