<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Office conversion fails (LibreOffice / unoconv incompatibilities)]]></title><description><![CDATA[<p dir="auto">Importing Office documents (XLSX, DOCX, DOC) via API, Webinterface and Consume folder fails on my Cloudron Instance with Paperless.</p>
<p dir="auto">I found two compatibility issues in the Gotenberg/LibreOffice conversion process. Both could be resolved with a temporary workaround.</p>
<p dir="auto">I'm not sure whether this affects all installations or just mine.</p>
<h2>Environment</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Component</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cloudron package</td>
<td>1.66.0</td>
</tr>
<tr>
<td>Paperless-ngx</td>
<td>3.3.0</td>
</tr>
<tr>
<td>LibreOffice</td>
<td>26.2.6.3</td>
</tr>
<tr>
<td>unoconv</td>
<td>0.8.2</td>
</tr>
<tr>
<td>Python</td>
<td>3.14.4</td>
</tr>
</tbody>
</table>
<h2>1. LibreOffice 26.2 incompatibility</h2>
<p dir="auto">Gotenberg returns HTTP 500 when converting Office documents.</p>
<p dir="auto">Debug logs:</p>
<pre><code class="language-text">File "/usr/bin/unoconverter", line 1012, in convert
    inputurl = unohelper.absolutize(...)

AttributeError: module 'unohelper' has no attribute 'absolutize'
</code></pre>
<p dir="auto">The installed <code>/usr/bin/unoconverter</code> contains three references to this function:</p>
<pre><code class="language-text">1012: inputurl = unohelper.absolutize(...)
1026: templateurl = unohelper.absolutize(...)
1166: outputurl = unohelper.absolutize(...)
</code></pre>
<p dir="auto">This appears to be a known LibreOffice 26.2 incompatibility:</p>
<p dir="auto"><a href="https://bugs.debian.org/1143523" target="_blank" rel="noopener noreferrer nofollow ugc">https://bugs.debian.org/1143523</a></p>
<p dir="auto"><strong>Workaround:</strong> Map the missing function to <code>uno.absolutize()</code>.</p>
<p dir="auto">After applying this fix, direct XLSX conversion via Gotenberg works (HTTP 200).</p>
<p dir="auto">However, importing XLSX through Paperless still fails.</p>
<h2>2. Unsupported unoconv argument</h2>
<p dir="auto">Paperless sends these parameters to Gotenberg:</p>
<pre><code class="language-text">pdfa: PDF/A-2b
updateIndexes: false
</code></pre>
<p dir="auto">Gotenberg passes <code>--disable-update-indexes</code> to unoconv.</p>
<p dir="auto">Debug output:</p>
<pre><code class="language-text">unoconv: option --disable-update-indexes not recognized,
try unoconv -h for a list of all the options
</code></pre>
<p dir="auto">Result:</p>
<pre><code class="language-text">exit status 255
HTTP 500
</code></pre>
<p dir="auto"><strong>Workaround:</strong> Remove the unsupported argument before unoconv processes it.</p>
<p dir="auto">After applying this second fix, XLSX imports through Paperless work again.</p>
<h2>Temporary workaround</h2>
<p dir="auto">Create <code>/app/data/gotenberg-fix/sitecustomize.py</code>:</p>
<pre><code class="language-python">import uno
import unohelper
import sys

unohelper.absolutize = uno.absolutize

if "--disable-update-indexes" in sys.argv:
    sys.argv.remove("--disable-update-indexes")
</code></pre>
<p dir="auto">Make sure the file is readable by the <code>cloudron</code> user.</p>
<p dir="auto">Stop Gotenberg:</p>
<pre><code class="language-bash">supervisorctl stop gotenberg
</code></pre>
<p dir="auto">Start it manually with the patch:</p>
<pre><code class="language-bash">runuser -u cloudron -- env \
  HOME=/home/cloudron \
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
  PYTHONPATH=/app/data/gotenberg-fix \
  gotenberg --log-level=debug
</code></pre>
<p dir="auto">This works but is <strong>not persistent</strong> across restarts.</p>
<p dir="auto">The second patch also ignores the <code>updateIndexes=false</code> setting, so it's only a workaround.</p>
<h2>Test results</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Test</th>
<th>Before</th>
<th>After</th>
</tr>
</thead>
<tbody>
<tr>
<td>Gotenberg health</td>
<td>HTTP 200</td>
<td>HTTP 200</td>
</tr>
<tr>
<td>Direct XLSX conversion</td>
<td>HTTP 500</td>
<td>HTTP 200</td>
</tr>
<tr>
<td>XLSX import in Paperless</td>
<td>Failed</td>
<td>Works</td>
</tr>
</tbody>
</table>
<p dir="auto">Direct LibreOffice conversion also works without the workaround.</p>
<h2>Suggested fix</h2>
<p dir="auto">The Cloudron package likely needs two changes:</p>
<ul>
<li>Update or patch unoconv to replace <code>unohelper.absolutize()</code> with <code>uno.absolutize()</code>.</li>
<li>Fix the incompatibility between Gotenberg and unoconv regarding <code>--disable-update-indexes</code>.</li>
</ul>
<h2>Questions</h2>
<ul>
<li>Can anyone reproduce this with Paperless-ngx package 1.66.0 on a fresh installation?</li>
<li>Are LibreOffice and unoconv versions identical across installations?</li>
<li>Could these two issues be addressed in the Cloudron package?</li>
</ul>
<p dir="auto">I haven't tested a fresh installation. The workaround fixes XLSX imports on my existing installation.</p>
<p dir="auto">Related issue: <a href="https://forum.cloudron.io/topic/13545/gotenberg-permission-issue-and-large-log-volume">https://forum.cloudron.io/topic/13545/gotenberg-permission-issue-and-large-log-volume</a></p>
]]></description><link>https://forum.cloudron.io/topic/16092/office-conversion-fails-libreoffice-unoconv-incompatibilities</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 04:49:10 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/16092.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Oct 2026 17:06:16 GMT</pubDate><ttl>60</ttl></channel></rss>