excel - 通过命令行使用 LibreOffice 将 .xls 转换为 .pdf

标签 excel bash pdf xls libreoffice

我正在尝试通过 Ubuntu 上的命令行使用 LibreOffice 将 .xls 文件转换为 .pdf。我有一份关于 .xls 文件的报告,在单元格等背景中有一些颜色。

问题是当我转换 .xls 文件时,.pdf 丢失了原始格式。每页几乎都被撕成两半,一页的内容显示在两个不同的页面中。

  • 有人知道如何通过命令行将 .xls 文件转换为 .pdf 并保持原始格式吗?
  • 或者一些技巧来设置 .pdf 页面的大小以不分页? (也可以通过命令行)

我用来进行转换的代码是:

soffice --headless --convert-to pdf:"impress_pdf_Export" filename.xls

最佳答案

如果您使用 LibreOffice 将 Microsoft Excel (XLS) 文件转换为 PDF 文档,这是一个两步过程(即使您的命令看起来确实是一个一步过程):

  1. 将 XLS 导入 LibreOffice(即使以 --headless 开始)。
  2. 从 LibreOffice 导出 PDF。

如果结果不像您预期​​的那样(与 Excel 的 native PDF 导出不够相似),则从上面的第一步开始调试:

  • 在 GUI 中使用 LibreOffice 打开 XLS 文件。它看起来像您期望的样子吗?还是某些格式选项看起来很奇怪?

    从那里导出 PDF(使用 GUI)。页面尺寸是否符合您的预期?你有没有按照你喜欢的方式设置它们?你想要的边距?等等。 ...


如果您在 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 文件。

关于excel - 通过命令行使用 LibreOffice 将 .xls 转换为 .pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25878987/

相关文章:

arrays - 使用 VBA 将单元格值范围分配给变量数组

bash - 创建文件描述符然后回显它有什么意义

bash - Bash 中的命令行参数

python - “If”语句和来自命令行的一行 Python 脚本

java - Flying-saucer 生成的 PDF 文本不合理

php - 如何在 mPDF 中设置自定义页面大小?

android - 如何从url下载pdf并在android应用程序本身中查看下载的pdf?

c# - 使用 C# 将 HTML 字符串导出到 ASP.Net 中的 Excel 文件

excel - 删除 Excel 单元格中的换行符、回车符和所有前导空格

vba - 使用SetTimer API时如何处理 "runtime error 50290"?