的PDF我已經找到了如何創建一個Wkhtmltopdf表單,您可以輸入您的網站網址,它會自動創建一個PDF在互聯網上的教程。wkhtmltopdf不創建網站
首先我不得不下載EXEC文件wkhtmltopdf-AMD64在: http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2
有兩個代碼:
形式(在index.php粘貼):
<form action="http://localhost:8888/dev.crm/wkhtmltopdf.php" method="POST">Website:
<input name="url" size="30" type="text" value="http://www.examplewebsite.com" />
<input type="submit" value="transform into a pdf" /> </form>
wkhtmltopdf.php文件(粘貼在wkhtmltopdf.php):
<?php
/****************************
BEGIN CONFIG
****************************/
// path to the program wkhtmltopdf
$conf['wkhtmltopdf'] = "http://www.mydomain.com/var/wkhtmltopdf-amd64";
// arguments for the programma wkhtmltopdf
// for example: --margin-top 50 --margin-bottom 30
// look: http://code.google.com/p/wkhtmltopdf/w/list
$conf['wkhtmltopdf_arg'] = "";
/****************************
END CONFIG
****************************/
// reads url
$pattern = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i";
if (!preg_match($pattern, $_REQUEST['url'])) {
die("no valid URL");
}
// temporary file
$output = "http://www.mydomain.com/dev.crm/tmp/output.pdf";
// gets the html of the document
$html = file_get_contents($_REQUEST['url']);
// gets the title of document
preg_match("/\<title\>(.+)\<\/title\>/is", $html, $matches);
// looks if there is a title
if (empty($matches[1])) {
$matches[1] = "output.pdf";
}
// create pdf from html
system($conf['wkhtmltopdf'] . " " . $conf['wkhtmltopdf_arg'] . " " . $_REQUEST['url'] . " " . $output);
// output pdf to the browser
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"" . $matches[1] . ".pdf\"");
readfile($output);
// remove pdf
unlink($output);
exit(0);
?>
表單完美並且也稱爲wkhtmltopdf.php,但不知何故我的服務器不使用wkhtmltopdf-amd64。當我按下PDF轉換按鈕時,我看到我的網頁正在加載,但它試圖打開PDF文件,但我無意中得到一個錯誤:'文件'.... pdf'不能打開,因爲它是空的。它保存PDF,但PDF大小爲0字節。
任何人有任何想法,我怎麼能解決這個問題?我認爲他沒有在我的網絡服務器上使用wkhtmltopdf-amd64文件。
//更新
我看到在表格中粘貼了localhost url。我改變了+線:
輸出= 「/ TMP /輸出.pdf」;現在我有一個新的頁面出現錯誤:警告:)系統(已在/home/.../domains/.../public_html/.../wkhtmltopdf.php安全原因上線禁用40
警告:不能更改頭信息 - 頭已經發出在/home/.../domains(輸出開始/home/.../domains/.../public_html/.../wkhtmltopdf.php:40) /.../public_html/.../wkhtmltopdf.php on line 43
警告:無法修改標題信息 - 已經發送的標題(輸出開始於/home/.../domains/.../public_html /.../wkhtmltopdf.php:40)in /home/.../domains/.../public_html/.../wkhtmltopdf.php on line 44
Warning:readfile(/ tmp/output。 pdf)[function.read文件]:未能打開流:沒有這樣的文件或目錄在/ home /.../domains/.../public_html/stage/wkhtmltopdf.php 45行
(...是我的域名。 )
我更新我的職務。現在我得到一個錯誤。 –
警告:出於安全原因,系統()已被禁用 - 看起來您無法使用系統調用。你可以在php.ini中更改 –
你是如何改變php.ini中的?我的HTML文件裏沒有這個文件。我必須在裏面放什麼?它仍然不起作用。 –