即使文件具有 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 权限的文件