Как узнать, где установлен Libreoffice в образе Docker? - PullRequest
1 голос
/ 19 февраля 2020

Я пытаюсь преобразовать документ docx в PDF с помощью libreoffice следующим образом:

from subprocess import  Popen
LIBRE_OFFICE = r"C:\Program Files\LibreOffice\program\soffice.exe"

def convert_to_pdf(input_docx, out_folder):
    p = Popen([LIBRE_OFFICE, '--headless', '--convert-to', 'pdf', '--outdir',
               out_folder, input_docx])
    print([LIBRE_OFFICE, '--convert-to', 'pdf', input_docx])
    p.communicate()


sample_doc = 'file.docx'
out_folder = 'some_folder'
convert_to_pdf(sample_doc, out_folder)

Однако я работаю с Linux Docker изображением. Поэтому мне не нужно указывать какой маршрут в переменной LIBRE_OFFICE. Кто-нибудь знает это?

Команда, которую я использую в моем Dockerfile для установки libreoffice: RUN apt-get update && apt-get -y install libreoffice

1 Ответ

0 голосов
/ 19 февраля 2020

Вкл. linux команда which сообщит вам, где установлен исполняемый файл. Например, в моей системе

$ which libreoffice 
/usr/bin/libreoffice

Обычно это можно сделать для каждого исполняемого файла, а также для проверки, установлен ли исполняемый файл. Этот подход будет работать, даже если вывод команды which является символьной ссылкой c.

...