2009-10-26 12 views
1

我試圖做到這一點。我有一個用php編寫的頁面。將有一個按鈕,我點擊該按鈕,該頁面將被轉換爲圖像格式或PDF。我可以使用哪種功能?有沒有建立它?哪一個會更容易?創建圖像格式或PDF?請請指出我。謝謝。php到pdf或php到jpeg庫或函數?

與問候,

回答

0

您正在尋找在PHP GD庫:http://php.net/manual/en/book.image.php

使用GD庫,你可以使用函數與圖像資源,然後輸出最終JPEG/PNG/GIF工作(或其他圖像格式支持)到瀏覽器或保存到一個文件。從http://www.php.net/manual/en/function.imagecreate.php

例子:

<?php 

header("Content-type: image/png"); 
$im = @imagecreate(110, 20) 
    or die("Cannot Initialize new GD image stream"); 
$background_color = imagecolorallocate($im, 0, 0, 0); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color); 
imagepng($im); 
imagedestroy($im); 

?> 

JPEG產生是因爲文件的大小比PDF好多已經比PDF小。另外,爲了使瀏覽器打開,PDF需要Adobe Acrobat Reader插件才能打開瀏覽器,這與瀏覽器已可查看的JPEG不同。

此外,GD擴展的用戶羣比其他PDF擴展更多。

+0

可以串處理HTML內在價值?並且圖像會完全像輸出一樣,例如顏色,佈局? – spotlightsnap

+1

「JPEG生成比PDF好得多」?這取決於使用情況,如果我需要多個頁面,我不會使用Jpeg輸出,並且文本輸出很糟糕(除非您設置高質量)並且它不可搜索等。不同的用法。另外Acrobat不需要在瀏覽器上(PDF可以下載),並且還有其他PDF瀏覽器。 – PhiLho

1

您可以使用DOMPDF來生成PDF文件。我幾乎在每個涉及PDF的項目中都使用過它。

0

GD庫需要作爲附加選項安裝,因此可能無法使用。您需要使用--with-gd [= DIR]重新安裝php,其中DIR是GD基本安裝目錄。

有幾個圖書館可以使用fpdf是我已經用於幾個成功的項目。它具有不需要安裝/編譯的優點。文檔和示例也很好。

+0

它可以處理動態內容嗎?就像從sql中獲取它?和HTML標籤?謝謝。 – spotlightsnap

0

在我看來,這取決於你使用哪一個。我更喜歡一些PDF擴展名,因爲PDF是一種非常常見的文檔交換格式。爲了這個用途,我會使用Zend_Pdf,它仍然由專業Zend工程師開發。

但是這兩種選擇都需要大量的手工,因爲您必須在文本中指定每個元素的具體(x,y)位置。

所以 - 如果你選擇PDF,那麼取Zend_Pdf,否則GD庫爲jpegs。

+0

我是否需要安裝才能使用Zend_Pdf因爲我將在共享主機上運行我的應用程序。大多數共享主機不允許我們安裝任何東西:( – spotlightsnap

0

如上所述,GD是生成Jpeg圖像的好庫。
要回答您的第二個問題作爲註釋,它不會從SQL中獲取數據,這是圍繞GD繪圖調用的PHP代碼的作用。
GD,和各種PDF庫(FPDF頗有名氣和使用,UFPDF和TCPDF替代品來管理的Unicode字符,)更喜歡畫庫,他們不處理HTML渲染,您必須將人物的位置,指定自己的風格,等等

啊,DOMPDF已經提到過,它再次尋找,我看到它是一個HTML到PDF庫,這是你在找什麼接近。除了它使用PDFLib這是一個商業,二進制(上次我檢查)庫,很難安裝在共享服務器上。但它也可以使用CPDF,它似乎更易於使用(但速度較慢)。

1

使用phpToPDF API

<? 
include_once('phpToPDF.php'); 
$html = '<html><head></head><body>contents of a report.....</body></html>'; 
codetopdf($html,'/my_directory/','my_pdf_filename.pdf'); 

?>