Adds in-browser preview of office file formats (Word, Excel, PowerPoint,
OpenDocument, RTF) to OCA DMS by converting them to PDF on the server
with a headless LibreOffice subprocess. The converted PDF is cached as a
child ir.attachment of the source dms.file and served via the
existing side-pane preview registry (dms.preview_handlers), so the
browser's native PDF viewer renders the result with no new UI code.
Without this module, office files in DMS fall back to a download-only
card. Install this module on any deployment where LibreOffice can be
installed system-wide and you don't need full in-browser editing (use
dms_onlyoffice for that).
Table of contents
LibreOffice must be installed on the Odoo server. On Debian / Ubuntu:
apt-get install libreoffice fonts-noto fonts-liberation
The fonts-noto and fonts-liberation packages are recommended
even if your container already has a font set — headless LibreOffice
falls back to ugly substitutes when common fonts are missing, which
produces unreadable PDFs for typical office documents.
Once LibreOffice is on the PATH, install this module as usual. The
preview is lazy: nothing converts until the first time a user opens an
office file in the DMS side-pane. Subsequent opens of the same file
(same write_date) hit the ir.attachment cache.
No configuration required. With LibreOffice on the server and this
module installed, opening any office file (.doc{x}, .odt,
.xls{x}, .ods, .ppt{x}, .odp, .rtf) from the DMS
kanban or list view shows the rendered PDF in the side-pane preview.
The first open takes 1–5 seconds (LibreOffice conversion); subsequent opens hit the cached attachment and feel instant. If the source file changes (new content, new name, etc.), the cache invalidates and the next open triggers a fresh conversion.
If LibreOffice fails to convert a file (corrupt source, unusual format variation), the side-pane shows a brief error message. The original file is always downloadable via the side-pane toolbar's Download button regardless of preview success.
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- ledoent
- Don Kendall <dkendall@ledoweb.com>
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/dms project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.





