我想通过jQuery发送一些html内容到tcpdf并创建pdf。 我有这个在我的index.php:发送变量到tcpdf jQuery
$('#test').click(function() {
var result='hello';
$.ajax({
type: 'POST',
url: 'pdf.php',
data: {result: result},
});
})
和pdf.php:
<?php
$result = '';
if(isset($_POST['result'])) {
$result = $_POST['result'];
}
require_once('tcpdf/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('Production sheet');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', '', 9);
$pdf->AddPage();
$html = '
<h1>TEST</h1>
<table>
<tr><td>'.$result.'</td></tr>
</table>
';
$pdf->writeHTML($html, true, 0, true, 0);
$pdf->lastPage();
$pdf->Output('test.pdf', 'I');
?>
如果我定义变量结果($result = "Hello";
)和我直接运行pdf.php它的工作完美。似乎由于某种原因,我的文章没有被pdf.php采纳......有一些想法?
谢谢!
代码确实看起来正确。您是否试图在访问tcpdf之前回显$ result以检查它是否正确传递?我可能太累了,但在代码中看不到任何错误。 –
'alert(result);'正确显示。如果我添加'成功:函数(数据){$('#testDiv')。html(数据);}'显示我的变量'hello'...这里有一些奇怪的... –
谢谢大家的帮助。埃米尔的回答做到了。 –