首页 > 解决方案 > 如何在 Unix 上将 .xlsx(标题上有图像)转换为 PDF?

问题描述

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

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

在此处输入图像描述

以及生成的 PDF 的截图: 在此处输入图像描述

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

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

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

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

标签: unixpdfxlsxlibreofficesoffice

解决方案


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

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

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

使用 LO 基本宏也是您可以接受的方法吗?

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 的标题中。但是,到目前为止,命令行没有成功。


推荐阅读