即使文件具有 777 权限,LibreOffice 转换为 pdf 也会产生文件无法加载错误

Posted

技术标签:

【中文标题】即使文件具有 777 权限,LibreOffice 转换为 pdf 也会产生文件无法加载错误【英文标题】:LibreOffice convert-to pdf produces file could not be loaded error even if file has 777 permissions 【发布时间】:2021-01-24 23:42:45 【问题描述】:

我最近为客户迁移了一个网站,但在使用 LibreOffice 时遇到了问题。该网站的一个功能是获取一个 docx,对其进行更改,然后将其复制并将其转换为 pdf 供用户下载。由于某种原因,我无法获取需要更改为 pdf 才能被 libreoffice 正确访问的已编辑文件。

例如,如果在终端中我尝试运行:

libreoffice --headless --convert-to pdf edited_source.docx edited_pdf.pdf --outdir /storage 

我得到错误:

Error: source file could not be loaded

我确实使用了正确的路径,我什至尝试设置 chmod 777 edited_source.docx 用于测试目的(当然不会留下 777)但即便如此,它也无法加载。

任何想法我错过了什么?我会丢失包裹吗?

编辑:我还检查了正在转换的 docx 文件,以确保它们没有损坏,它们似乎在 word 等中可以正常打开,并且我还确保安装了 libreoffice-writer

编辑:我使用的是 Ubuntu 20.04.01 和 libreoffice 6.4.6.2

【问题讨论】:

LibreOffice 是否在 GUI 中加载 docx? 没有gui,在服务器上是无头的,我在php中调用脚本 是的,我知道这一点。您不能登录到服务器并使用 GUI 启动它吗?另一个想法:docx 文件只是一个 ZIP 文件。您是否尝试使用 ZIP 工具列出其内容? @movac 你解决了吗? 您尝试过什么解决问题的方法?这和 PHP 有什么关系? 【参考方案1】:

如果您使用此命令安装 libreoffice sudo apt-get install libreoffice-common 那么您还应该安装 libreoffice writer 以便将 docx 文件转换为 pdf

sudo apt-get install libreoffice-writer

【讨论】:

以上是关于即使文件具有 777 权限,LibreOffice 转换为 pdf 也会产生文件无法加载错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 .net 核心控制台应用程序创建具有 777 权限的文件

linux系统644、755、777权限详解

MYSQL 进入输出文件“拒绝访问”-但我的用户具有“全部”访问权限.. 文件夹是 CHMOD 777

挂载共享 cif 的权限始终为 777

如何查找Linux中所有777权限的文件?

Java - 无法创建具有 777 权限的目录(改为具有 775)[重复]