如何在无头模式下使用 Libre Office Draw 从命令行创建 PDF/A?

问题描述 投票:0回答:3

LibreOffice Draw 允许您打开非 PDF/A 文件并将其导出为 PDF/A-1b 或 PDF/A-2b 文件。

通过在 macOS 上调用命令行也可以实现相同的效果

/Applications/LibreOffice.app/Contents/MacOS/soffice --headless \
        --convert-to pdf:draw_pdf_Export \
        --outdir ./pdfout \
        ./input-non-pdfa.pdf

或者简单的 Linux

libreoffice --headless \
        --convert-to pdf:draw_pdf_Export \
        --outdir ./pdfout \
        ./input-non-pdfa.pdf

在命令行上,可以告诉

convert-to
创建 pdf,并通过告诉
--convert-to pdf:draw_pdf_Export
使用 LibreOffice Draw 来完成此操作。

还有一种方法可以告诉 LibreOffice 以 headless 模式生成 PDF/A 文档吗?

pdf libreoffice pdfa libreoffice-draw
3个回答
5
投票

对于 PDF/A-1(意味着

PDF/A-1b
?):

soffice --headless --convert-to pdf:"writer_pdf_Export:SelectPdfVersion=1" --outdir outdir input.pdf

将 PDF/A-2 的值从

1
更改为
2
,这里是 Libreoffice 源代码 Common.xcspdfexport.cxxpdffilter.cxx


1
投票

由于 LibreOffice 只能通过 GUI 实现,因此对于命令行解决方案使用

gs

  • 首先将pdf转换为ps
pdftops input.pdf input.ps
  • 然后将ps转换为pdf/PDF的存档格式
gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=input-A.pdf input.ps

0
投票

在多次尝试使用 7.4 版本后,由于 pdfa 格式存在问题,导致在线 PDFA 验证器出现“非 pdfa 结果”,我升级到了 Libre 7.6.4.1 的当前版本。

我成功地在 Windows 11 下使用简单的 .bat 文件从 docx / pdf 转换为 PDFA 3b,从而成功地在多个网站上在线验证了 pdfa。

这是我使用的代码:

//切换到源文件所在目录

cd C:\Users\Username\Documents

// 将输入文件转换为 PDFA 版本 3b,并提供输出目录和目标文件夹。版本可以从 1 更改为 3。

"C:\Program Files\LibreOffice\program\swriter.exe" --headless --convert-to pdf:"writer_pdf_Export:SelectPdfVersion=3" inputfile.pdf --outdir "C:\Users\Username\Documents\pdfa"
© www.soinside.com 2019 - 2024. All rights reserved.