-
-
Notifications
You must be signed in to change notification settings - Fork 3k
How to enable importing and exporting different file formats with LibreOffice
Etherpad can import and export several file formats out of the box, with no extra software:
| Format | Import | Export |
|---|---|---|
Plain text (.txt) |
✅ | ✅ |
HTML (.html, .htm) |
✅ | ✅ |
Etherpad (.etherpad) |
✅ | ✅ |
Microsoft Word (.docx) |
✅ | ✅ |
PDF (.pdf) |
— | ✅ |
To import/export the remaining formats you need LibreOffice installed on the server:
| Format | Import | Export |
|---|---|---|
OpenDocument Text (.odt) |
LibreOffice | LibreOffice |
Legacy Word (.doc) |
LibreOffice | LibreOffice |
Rich Text (.rtf) |
LibreOffice | LibreOffice |
PDF (.pdf) |
LibreOffice | (built-in) |
Etherpad previously used AbiWord for this. AbiWord is no longer supported — use LibreOffice instead.
Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y libreofficeFedora / RHEL
sudo dnf install -y libreofficemacOS (Homebrew)
brew install --cask libreofficeFind the path to the soffice executable:
which soffice # e.g. /usr/bin/soffice
# macOS: /Applications/LibreOffice.app/Contents/MacOS/sofficeIn your settings.json, set the soffice key to the absolute path of the
soffice executable:
{
"soffice": "/usr/bin/soffice"
}Restart Etherpad. Once soffice is configured, the advanced import/export
formats become available automatically.
The official Docker image does not bundle LibreOffice (to keep the image
small). To include it, build with the INSTALL_SOFFICE build argument:
docker build --build-arg INSTALL_SOFFICE=1 -t etherpad .The build sets soffice for you when LibreOffice is installed this way.
-
Imports/exports silently fall back to plain text or fail — check that the
sofficepath is correct and that the file actually exists on the server (ls -l /usr/bin/soffice). Etherpad ignores asofficepath that does not exist and logs a warning at startup. -
.docxalready works without LibreOffice — that is expected; only.odt,.docand.rtf(and.pdfimport) require it.
- Docs
- Translating
- HTTP API
- Plugin framework (API hooks)
- Plugins (available)
- Plugins (list)
- Plugins (wishlist)
- Etherpad URIs / URLs to specific resources IE export
- Etherpad Full data export
- Introduction to the source
- Release Procedure
- Etherpad Developer guidelines
- Project to-do list
- Changeset Library documentation
- Alternative Etherpad-Clients
- Contribution guidelines
- Installing Etherpad
- Deploying Etherpad as a service
- Deploying Etherpad on CloudFoundry
- Deploying Etherpad on Heroku
- Running Etherpad on Phusion Passenger
- Putting Etherpad behind a reverse Proxy (HTTPS/SSL)
- How to setup Etherpad on Ubuntu 12.04 using Ansible
- Migrating from old Etherpad to Etherpad
- Using Etherpad with MySQL
- Customizing the Etherpad web interface
- Enable import/export functionality with AbiWord
- Getting a list of all pads
- Providing encrypted web access to Etherpad using SSL certificates
- Optimizing Etherpad performance including faster page loads
- Getting to know the tools and scripts in the Etherpad /bin/ folder
- Embedding a pad using the jQuery plugin
- Using Embed Parameters
- Integrating Etherpad in a third party app (Drupal, MediaWiki, WordPress, Atlassian, PmWiki)
- HTTP API client libraries