要在PHP中使用wkhtmltopdf,需要先安裝wkhtmltopdf軟件。以下是在Linux系統中安裝wkhtmltopdf的步驟:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb
安裝完成后,可以在終端中輸入wkhtmltopdf -V
來檢查是否安裝成功。
接下來,可以使用PHP的exec()函數來調用wkhtmltopdf生成PDF文件。以下是一個簡單的例子:
$html = '<html><head><title>Test</title></head><body><h1>Hello, World!</h1></body></html>';
$output_file = 'output.pdf';
$cmd = 'wkhtmltopdf -q -O Portrait -s A4 -L 10 -R 10 -T 10 -B 10 - ' . escapeshellarg($output_file);
$descriptorspec = array(
0 => array("pipe", "r"), // stdin
1 => array("pipe", "w"), // stdout
2 => array("pipe", "w") // stderr
);
$process = proc_open($cmd, $descriptorspec, $pipes, null, null);
if (is_resource($process)) {
fwrite($pipes[0], $html);
fclose($pipes[0]);
$pdf = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$error = stream_get_contents($pipes[2]);
fclose($pipes[2]);
$return_value = proc_close($process);
if ($return_value === 0) {
echo 'PDF file generated successfully.';
} else {
echo 'An error occurred: ' . $error;
}
}
以上代碼將生成一個簡單的HTML內容并將其轉換為PDF文件。可以根據自己的需求修改HTML內容和輸出文件路徑。要注意的是,wkhtmltopdf命令的參數可以根據需要進行調整。
希望這個信息對你有所幫助。