2012-04-26 137 views
2

我一直試圖將html頁面轉換爲PDF,但沒有任何運氣,我嘗試使用wkhtmltopdf(http://code.google.com/p/) wkhtmltopdf /)和雖然下面的命令在終端正確執行由相同的開發者(http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp)中提供的PHP類:如何在Linux上使用PHP將HTML/CSS轉換爲PDF

wkhtmltopdf http:/www.googl.com test.pdf 

我無法由於以下錯誤在PHP中執行命令: 無法連接到X服務器。

任何人都可以提供一步一步的教程,以便能夠將html/css轉換爲PDF文件,無論是使用wkhtmltopdf或任何其他體面的解決方案。

在此先感謝

在這裏,我已經使用http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp

和下面的類是我的代碼

$html = file_get_contents("test.html"); 

$pdf = new WKPDF(); 

$pdf->set_html($html); 

$pdf->render(); 

$pdf->output(WKPDF::$PDF_EMBEDDED,'sample.pdf'); 

下面是錯誤:

Fatal error: Uncaught exception 'Exception' with message 'WKPDF didn't return any data. 
/usr/bin/wkhtmltopdf: /opt/lampp/lib/libxml2.so.2: no version information available 
(required by /usr/lib/libgstreamer-0.10.so.0) No protocol specified wkhtmltopdf: cannot 
connect to X server :0 </pre>' in /var/www/c4/components/com_wkhtmltopdf 
/wkhtmltopdf.class.php:211 Stack trace: #0 /var/www/c4/components/com_wkhtmltopdf 
/wkhtmltopdf.php(68): WKPDF->render() #1 /var/www/c4/components/com_wkhtmltopdf 
/wkhtmltopdf.php(50): html2pdf() #2 /var/www/c4/index2.php(114): require_once('/var/ww...') 
#3 {main} thrown in /var/www/c4/components/com_wkhtmltopdf/wkhtmltopdf.class.php on line 211 
+0

看一看http://stackoverflow.com/questions/391005/convert-html-css-to-pdf-with-php 並嘗試搜索功能。 ;) – Paul 2012-04-26 07:44:27

+0

正如你問的那麼寬泛,你是TIA類型的傢伙:請使用重複的K THX TIA! - 逐步瀏覽答案。 – hakre 2012-04-26 07:51:33

+0

保羅,你發送的線程是相同的線程,導致我wkhmltopdf庫,並嘗試上述步驟後,我決定尋求幫助 – 2012-04-26 08:20:34

回答

2

我發現解決方案,以下錯誤「無協議指定wkhtmltopdf:可以不是 連接到X服務器:0「基本上是由使用apt-get安裝的舊版」wkhtmltopdf「導致的。該解決方案是使用下面的鏈接下載從code.google靜態二進制: http://code.google.com/p/wkhtmltopdf/downloads/list

,然後執行以下操作:

tar -jxvf wkhtmltopdf-0.11.0-static.tar.bz2 
sudo aptitude install ia32-libs 

接下來,你將不得不作出一個符號鏈接指向到/ usr/bin中的WKHTMLTOPDF。

sudo ln -s /full_path/WKHTMLTOPDF /usr/bin/WKHTMLTOPDF