2009-08-04 216 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可能是一個好的開始。