2012-07-28 77 views
1

1)我改名爲 「wkhtmltopdf-I386」 到 「wkhtmltopdf」 和一個名爲 「在/ usr/local/bin目錄」wkhtmltopdf問題

2文件夾中上傳 「wkhtmltopdf」 到我的服務器),我上傳的PHP集成腳本,在同一個文件夾中,並命名爲「pdf_class.php」(https://github.com/aur1mas/Wkhtmltopdf/blob/master/Wkhtmltopdf.php)

我將這兩個文件上傳到「/ home/kacmaz /域/ xxx.com /的public_html/test_pdf /」

3)I上傳的文件,我名爲 「test.php的」,在同一文件夾,包含:

<?php 

include "pdf_class.php"; 

    try 
{ 
    $wkhtmltopdf = new Wkhtmltopdf(array('path' =>'/home/kacmaz/domains/xxx.com/public_html/test_pdf')); 
    //$wkhtmltopdf = new Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/')); 
    $wkhtmltopdf->setTitle("Title"); 
    $wkhtmltopdf->setHtml("http://www.google.com"); 
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "myfile.pdf"); 
} 
catch (Exception $e) 
{ 
    echo $e->getMessage(); 
} 
?> 

它爲「/home/kacmaz/domains/xxx.com/public_html/test_pdf/」創建了諸如「779753975.html」「749335291.html」的文件(文件是21個字節,它將「http:/ /www.google.com」裏面的文件)

,但它給這個錯誤

WKHTMLTOPDF沒有返回任何數據

而且沒有pdf文件, 我怎麼能解決這個問題 ?

回答

1

我真的不能複製環境中的那一刻,但我會建議嘗試用

$wkhtmltopdf->setHtml("<h1>This Is A Test</h1><p>Ponies</p>"); 

更換

$wkhtmltopdf->setHtml("http://www.google.com"); 

而且看到產生了什麼。這聽起來像是一些臨時文件正在生成,並且setHtml將它的內容寫入臨時文件,PDF正在基於這些文件生成,這就是爲什麼你不能獲取數據,因爲它實際上不是HTML內容。

此外,通常在命令行中使用類似的內容進行測試,看看它是否有效,可能會消除一些問題。