我试图通过Ubuntu上的命令行使用LibreOffice将.xls
文件转换为.pdf
。我在.xls
文件上有一种报告,在单元格的背景中有一些颜色等。
问题是当我转换.xls
文件时,.pdf
会丢失原始格式。每个页面几乎都在一半中断,一页的内容显示在两个不同的页面中。
.xls
文件转换为.pdf
并保留原始格式? .pdf
页面大小不打破页面的技巧? (也通过命令行)我用来进行转换的代码是:
soffice --headless --convert-to pdf:"impress_pdf_Export" filename.xls
答案 0 :(得分:1)
如果您使用LibreOffice将Microsoft Excel(XLS)文件转换为PDF文档,这是一个两步过程(即使您的命令看起来像是一步过程):
--headless
开头)。如果结果看起来不像您期望的那样(与Excel的本机PDF导出不够相似),那么请从上面的第一步开始调试:
在GUI中使用LibreOffice打开XLS文件。您希望它看起来如何?或者一些格式化选项看起来很奇怪?
从那里导出PDF(使用GUI)。页面尺寸是否符合预期?你有没有按照自己的喜好进行设置?边缘就像你想要的那样? etc.pp. ...
如果您使用的是Windows,则可能还需要考虑 OfficeToPDF.exe 。它托管在CodePlex上,获得Apache 2.0许可,并以二进制和源代码提供。
它需要运行Office 2013,Office 2010 或 Office 2007安装。但它可以命令行和批量转换为PDF各种基于MS Office的文件格式,包括XLS(X),PPT(X),DOC(X),VSD(X)和PUB以及基于Libre / OpenOffice的文件格式ODT,ODS和ODC文件。
答案 1 :(得分:0)
虽然这与初始问题略有不同(如果你有Office套件和Windows机器,你根本不需要Office Libre)
我非常感谢Kurt提供的跟进。它促使我发布以下Gist提供了一些关于如何在for循环中使用.exe的明确说明。