首页 > 解决方案 > 如何知道 Libreoffice 安装在 Docker 映像中的什么位置?

问题描述

我正在尝试使用 libreoffice 将 docx 文档转换为 PDF,如下所示:

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

标签: linuxdockerlibreoffice

解决方案


在 linux 上,该which命令会告诉您可执行文件的安装位置。例如在我的系统上

$ which libreoffice 
/usr/bin/libreoffice

您通常可以为每个可执行文件执行此操作,还可以检查是否安装了可执行文件。即使which命令的输出是符号链接,这种方法也可以工作。


推荐阅读