2011-10-10 85 views
8

當用戶上傳某些文件到我的網站(如.doc,.xls,.pdf等)時,我想能夠生成(文檔第一頁的)預覽縮略圖。我用PHP的LAMP堆棧工作,但會很樂意與任何庫或命令行工具,它可以做的工作(Linux的高度首選)。在PHP(LAMP)中創建文檔(PDF,DOC,XLS等)的縮略圖預覽

+1

@BrianRoach沒有 - 在發佈之前就已經看到了這個問題。它只涉及PDF。我正在尋找一種可以執行一般文件的工具(包括PDF,但也包括XLS,DOC等)。 – Dan

+1

好這一點,還有一招相結合的這兩個http://stackoverflow.com/questions/1225230/php-converting-excel-xls-to-pdfs和http://stackoverflow.com/questions/467793/how -DO-I-轉換-A-PDF文檔到A-預覽圖像中的PHP是轉換XLS或任何爲PDF,然後得到PDF – aNi

+0

我在尋找同樣的事情的圖像並同意這適用於不僅僅是PDF/Office文檔(例如LaTEX或SAS) – vol7ron

回答

9

將某些文檔格式轉換爲圖像並不容易。單獨的PHP不能做到這一點。 執行此操作的「正確」方法是首先在您的服務器上安裝可以以該格式打開文檔的程序。 例如,.DOC文件,你可以使用OpenOffice 它也可以打開大多數其他文檔格式 然後你需要設置你的開放式辦公室在「無頭」模式下工作,將輸出發送到虛擬顯示器(XVFB是你要什麼在Linux上需要)

然後,您的php腳本將調用OpenOffice,將路徑傳遞給上傳的文檔。 OpenOffice實際上會打開該文檔。然後你需要從屏幕緩衝區創建一個圖像。您可以使用ImageMagick來獲取該屏幕

然後,一旦您捕獲了屏幕,就可以將其重新調整爲縮略圖。

看看這個鏈接查看更多細節

http://www.mysql-apache-php.com/website_screenshot.htm

+1

好的答案,但我想你可能意味着ImageMagick,以防有人在尋找它 – vol7ron

相關問題