bug#14440: Extending ODT export

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#14440: Extending ODT export

Jambunathan K-3

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 <[hidden email]> 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 | Threaded
Open this post in threaded view
|

bug#14440: Extending ODT export

Jambunathan K-3

I should be stupid in opening bug reports in response to people who
don't followup on their original reports.

As OP, I am closing it.