如何在Unix上将.xlsx(带有标题的图像)转换为PDF?

时间:2019-03-29 16:18:50

标签: unix pdf xlsx libreoffice soffice

我有一个.xlsx文件,标题上有一个图像。当我尝试使用libreoffice通过终端将其转换为PDF时,它将进行转换,但图像不会出现在生成的PDF中。

这是Excel(打印模式)上主要.xlsx文件的屏幕截图:

enter image description here

以及生成的PDF的屏幕截图: enter image description here

即时通讯使用的命令是:soffice --headless --convert-to pdf --outdir /home/output /home/input/headers_footers.xlsx

注意:要在excel上显示.xlsx的标题图像,我们需要将其置于打印视图模式(ctrl + p)

我使用在线转换工具测试了headers_footers.xlsx到PDF的转换,最终结果与预期的一样:图像出现了。

但是我需要以编程方式执行此操作,所以我不确定是否它的libreoffice还是我需要使用其他工具,或者可能需要操纵最终的PDF并在上面添加图像?

1 个答案:

答案 0 :(得分:0)

这不仅是UNIX问题。我可以重现运行MS Windows 10的故障。标题图像出现在打印视图和手动导出的PDF中。但是当你打电话

soffice --headless --convert-to pdf --outdir . sample.xlsx

在命令行上不会显示。我将继续寻找答案,但这对我来说似乎是个错误。

使用LO Basic宏也是您可接受的方法吗?

Sub ExportCalcToPDF
  sURL = convertToURL("d:\temp\lo_calc.pdf")
  dim mFileType(0)
  mFileType(0) = createUnoStruct("com.sun.star.beans.PropertyValue")
  mFileType(0).Name = "FilterName"
  mFileType(0).Value = "calc_pdf_Export"
  thisComponent.storeToURL(sURL, mFileType())
End Sub

执行此宏后,将电子表格导出为pdf。要自动运行宏,例如打开文件后,将其分配到“工具”>“自定义”>“事件”中的“打开文档”。

通过双击xlsx文件进行测试,图像会出现在pdf标题中。但是,到目前为止,命令行没有成功。