2012-08-14 155 views
3

我想使用Snappy生成PDF。我已閱讀https://github.com/KnpLabs/snappy的文檔,並嘗試使用代碼。PHP:如何使用Snappy(wkhtmltopdf包裝)

require_once '/KnpLabs/src/autoload.php'; 

use Knp\Snappy\Pdf; 

$snappy = new Pdf('C:\Program Files (x86)\wkhtmltopdf'); 

// Display the resulting image in the browser 
// by setting the Content-type header to jpg 
$snappy = new Pdf('C:\Program Files (x86)\wkhtmltopdf'); 
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename="file.pdf"'); 
echo $snappy->getOutput('http://localhost/pdfTester/try.php'); 

當我點擊try.php的鏈接,還有就是打開pdf文件的彈出,當我選擇打開,會出現一條消息。

ADOBE READER無法打開「file.pdf」,因爲它是要麼不 支持的文件類型,或者因爲文件已損壞

順便說一句我也有這種月齡EXP使用PHP和我已經搜索相同的主題,但它看起來不能幫助太多。任何幫助表示讚賞。

回答

2
  • 您的路徑C:\Program Files (x86)\wkhtmltopdf看起來像是指向一個文件夾而不是二進制文件。如果你的wkhtmltopdf被安裝到文件夾C:\Program Files (x86)\wkhtmltopdf\二進制可能是C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe,maby嘗試指向可執行文件,看看是否有效?
  • 如果這不起作用,當您嘗試從命令行運行命令時會發生什麼?那它有用嗎?

    wkhtmltopdf http://localhost/pdfTester/try.php test.pdf

+0

已經做了二進一,但仍不能solve..and第二個方式,它工作在命令行@Nenotlep – CodeGlock 2012-08-14 06:13:37

+5

問題solved..the路徑應該是這樣'C://」 Program Files(x86)「/ wkhtmltopdf/wkhtmltopdf.exe' – CodeGlock 2012-08-14 07:08:31

+1

好!他們站點上的示例路徑也指向了一個二進制文件,但它看起來像一個文件夾,所以它說'新的Pdf('/ usr/local/bin/wkhtmltopdf')'/ usr/local/bin是文件夾和'wkhtmltopdf'是可執行的二進制文件。我認爲他們應該添加一個窗口示例,以便明確這樣的問題。 – Nenotlep 2012-08-14 09:37:14