doc-view (for OpenDocument files) uses the below mentioned work around.

The fix can be ported to `org-odt.el' and `ox-odt.el'.


--8<---------------cut here---------------start------------->8---
(defun doc-view-odf->pdf-converter-soffice (odf callback)
  "Convert ODF to PDF asynchronously and call CALLBACK when finished.
The converted PDF is put into the current cache directory, and it
is named like ODF with the extension turned to pdf."
  ;; FIXME: soffice doesn't work when there's another running
  ;; LibreOffice instance, in which case it returns success without
  ;; actually doing anything.  See LibreOffice bug
  ;; https://bugs.freedesktop.org/show_bug.cgi?id=37531.  A workaround
  ;; is to start soffice with a separate UserInstallation directory.
  (let ((tmp-user-install-dir (make-temp-file "libreoffice-docview" t)))
    (doc-view-start-process "odf->pdf" doc-view-odf->pdf-converter-program
                            (list
                             (concat "-env:UserInstallation=file://"
                                     tmp-user-install-dir)
                             "--headless" "--convert-to" "pdf"
                             "--outdir" (doc-view-current-cache-dir) odf)
                            (lambda ()
                              (delete-directory tmp-user-install-dir t)
                              (funcall callback)))))
--8<---------------cut here---------------end--------------->8---



Andreas Leha <andreas.l...@med.uni-goettingen.de> writes:

> I had problems to use LibreOffice to convert a *already open* document.  So,
> if you are viewing the doc in LibreOffice while you try your export, you
> might run into problems.
>
> This is a reported bug in LibreOffice.  The suggested work-around is to
> use a temporary profile as in:
> libreoffice "-env:UserInstallation=file:///tmp/LibO_Conversion"
> --headless --invisible --convert-to txt:text "$FILENAME" >/dev/null
>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> You might try to add that to the conversion command and see whether it
> helps.

Reply via email to