使用 --headless --convert-to 标志使用 libreoffice 将 .doc(x) 转换为 PDF/A-1a 格式

Posted

技术标签:

【中文标题】使用 --headless --convert-to 标志使用 libreoffice 将 .doc(x) 转换为 PDF/A-1a 格式【英文标题】:Convert .doc(x) to PDF/A-1a format with libreoffice using --headless --convert-to flags 【发布时间】:2013-12-18 15:53:23 【问题描述】:

我目前正在开发一个 php Web 应用程序,它可以自动将 Microsoft doc(x) 文件转换为 PDF 格式。

为此,我们在网络服务器 (CentOS 6.5 x64) 上使用 libreoffice 无头转换器。

我使用以下命令来转换文件;

libreoffice --headless --convert-to pdf /path/to/sourceFile.doc -outdir /path/to/dest

一切正常,但有一个问题。

PDF 输出应为 PDF/A-1a 格式,目前为默认格式。

我在网上搜索了几个小时,但找不到解决方案。

如何更改输出格式?

【问题讨论】:

【参考方案1】:

我的建议是使用“Cloudooo”在 linux 上转换媒体或办公文件, 优点是 cloudooo 支持 ooffice 和 libreoffice 并在崩溃的情况下重新启动所需的程序。

github上的官方repo是:https://github.com/nexedi/cloudooo

我用于导出 pdf/a 而不是 pdf 的分叉版本:https://github.com/florianajir/cloudooo

【讨论】:

【参考方案2】:

您将需要在 ghostscript 上做一些后续工作。

ghostscript -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -dQUIET -sProcessColorModel=DeviceRGB -dUseCIEColor -sDEVICE=pdfwrite -o "out.pdf" -dPDFACompatibilityPolicy=1 PDFA_def.ps "in.pdf"

【讨论】:

以上是关于使用 --headless --convert-to 标志使用 libreoffice 将 .doc(x) 转换为 PDF/A-1a 格式的主要内容,如果未能解决你的问题,请参考以下文章

使用 `google-chrome --headless` 时如何设置浏览器窗口大小?

kubernetes中headless类型的service

硒 Python 推特。 HeadLess = True 时的问题

无法使用 chrome-headless 在 docker 中运行 angular-cli 业力测试

使用 chrome headless 和 selenium 下载

Ruby Headless gem 屏幕尺寸未得到尊重