PDF Auto-Converter
Automatically converts DOC and DOCX files uploaded to Odoo Documents into PDF, so every office document in a workspace also has a clean, previewable PDF copy without any manual step. Conversion runs inline for small files and is picked up by a safety-net cron for larger ones, so the upload never blocks.
Automatically converts DOC and DOCX files uploaded to Odoo Documents into PDF, so every office document in a workspace also has a clean, previewable PDF copy without any manual step. Conversion runs inline for small files and is picked up by a safety-net cron for larger ones, so the upload never blocks.
Requires Odoo Enterprise â this module depends on the Enterprise documents app and does not install on Community.
Features
- Auto-conversion on upload and on file replacement, producing a separate linked PDF copy (never overwriting the source).
- Inline (synchronous) conversion for files under a configurable size threshold; a cron safety net converts anything above it, so uploads stay responsive. (The earlier "always synchronous" limitation is fixed.)
- Multiple backends tried in order: LibreOffice/soffice for best fidelity (handles both
.docand.docx), then a pure-Pythonmammoth+weasyprintfallback for.docx. - Bundled metric-compatible fonts (Carlito/Caladea, with OFL licenses) so tables laid out for Calibri/Cambria don't reflow under font substitution.
- Manual "Convert to PDF" server action for on-demand conversion from the list/form view.
- Toggle auto-conversion on or off from Settings.
- Hardened recycle-bin garbage-collection domain and LibreOffice process-group cleanup.
Configuration
1. Install the module (Enterprise documents required).
2. In Settings, toggle auto-conversion on or off.
3. Optionally set the sync_max_mb system parameter to control the inline-vs-cron size threshold.
4. For best .doc/table fidelity, install LibreOffice and the metric-compatible MS fonts on the Odoo host (see the module description for the exact packages).
Limitations
.doc(legacy binary) conversion requires LibreOffice on the host; without it the original file is kept and a warning is logged.- Pure-Python fallback handles
.docxonly. - Best-fidelity table layout depends on the host fonts being installed.
Tests
5 automated tests, run on Odoo.sh staging (Enterprise dependency; not runnable on the Community lab).
Screenshots: TODO (capture from staging).
Built and maintained by ETS.inc — support via the address on this listing.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module