2009-08-04 117 views
4

是否有任何PHP/Java /开源软件转换器或PHP库,将XLS文件转换为PDF文件?PHP将Excel(.xls)转换为pdf

Rundown:有预先存在的代码生成xls电子表格(大约2002-2006年,我相信前开放xml版本),需要将它们转换为pdf,出于各种原因。

到处搜索,包括这里。我想我只需要朝正确的方向发展,我确信已经有一些东西可以做到。

+0

您是否考虑重新考虑您的代码以直接生成PDF。而不是生成Excel spreadhseets,然后尝试转换? – MadMurf 2009-08-04 00:26:01

+0

http://stackoverflow.com/questions/265760/generating-pdfs-with-php提供了一个使用PHP生成PDF的解决方案 – MadMurf 2009-08-04 00:27:27

回答

1

通过安装带有PDF编写器的OpenOffice 作为默认打印机驱动程序,您可以在Linux上将XLS文件转换为PDF。

然后,您可以使用“-p”命令行 参数调用OpenOffice(来自PHP),这会导致它加载指定文件并将其打印出来。

例如,如果你的文件是 “accounts.xls” 你会调用 以下命令:

soffice -p accounts.xls

的OpenOffice会加载 “accounts.xls” 文件和“打印“到 PDF书写器,该书写器将被配置为将PDF文档保存为 所需的文件名。

GhostScript是一个合适的PDF作家。

OpenOffice的安装指南介绍如何安装和使用“SPADMIN”实用配置 打印机驱动程序,并讨论了使用 的ghostscript作为一个PDF作家: “打开Office安装指南 - 附录” http://www.openoffice.org/docs/setup_guide/appendix.html

您可以使用反向执行 运算符或“exec”函数从PHP调用OpenOffice。您可能还需要使用PHP来移动 和/或重命名生成的PDF文件:

PHP:执行程序功能 http://www.php.net/manual/en/ref.exec.php

PHP:文件系统:重命名 http://www.php.net/manual/en/function.rename.php

OpenOffice的是相当不错的处理XLS文件,但它可能不会完美呈现每个这样的文件 - 所以如果您需要最终的兼容性,您将不得不在Windows 平台或模拟器上使用Microsoft Excel。 “IT AsiaOne”着眼于 微软Office(包括OpenOffice)的几种替代方案,并写道:“尽管 替代套件没有任何承诺......与微软的全面兼容性 办公室创建的文档,总的来说,他们做的体面的工作 翻译Microsoft“.doc”,“.ppt”和“。XLS “文件格式”:

IT亚洲一日达 - 特价商品 - 可供您使用采摘 http://it.asia1.com.sg/specials/mmedia20020724_001.html

其他链接:

OpenOffice.org首页 http://www.openoffice.org/

Ghostscript的首页 http://www.cs.wisc.edu/~ghost/

PHP首页 http://www.php.net/

谷歌搜索策略:

OpenOffice的脚本访问PDF的Linux ://www.google.com/search Q =的OpenOffice%20scripting%20pdf%20linux

openoffice的打印 “命令行” :/ /www.google.com/search?q=openoffice%20scripting%20pdf%20linux

后面是从 openoffice.org主页搜索“命令行参数”。

ref:http://answers.google.com/answers/threadview/id/177241.html

2

由于PHP能够通过shell在linux中执行命令,所以this可能是一个好的开始。