将变量从jQuery发送到FPDF

时间:2011-06-23 19:19:29

标签: php jquery pdf-generation fpdf

我正在尝试将带有jQuery的表单内容发送到FPDF。变量没有显示,但pdf也没有给出错误;它只是空白。到目前为止,我只有一个变量用于简洁。任何猜测?

表格

    <form id="contact">
<input type="hidden" name="front_finish_name_field" id="front_finish_name_field" value="Mirror" />
<input type="hidden" name="front_finish_price_field" id="front_finish_price_field" value="15" />
<input type="hidden" name="front_pattern_name_field" id="front_pattern_name_field" value="Tiger" />
<input type="hidden" name="front_pattern_price_field" id="front_pattern_price_field" value="5" /><br />
<input type="hidden" name="back_finish_name_field" id="back_finish_name_field" value="Mirror" />
<input type="hidden" name="back_finish_price_field" id="back_finish_price_field" value="15" />
<input type="hidden" name="back_pattern_name_field" id="back_pattern_name_field" value="Tiger" />
<input type="hidden" name="back_pattern_price_field" id="back_pattern_price_field" value="5" /><br />
<input type="hidden" name="glass_total" id="glass_total" value="40" />
<br />
<h2>Send Quote</h2><br />
Select agent: <select name="agents" id="agents">
    <option value="1">Jill Smith</option>
    <option value="2">John Smith</option>
    <option value="3">Jack Smith</option>
</select>
<input type="submit" id="submit" value="Send" />
</form>

的jQuery

    <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
                    $("#submit").click(function(){
            var data = $("#contact").serialize();
                $.ajax
                    ({
                    type: "POST",
                    url: "generate_pdf.php",
                    data: data,
                    cache: false,
                    success: function()
                        {
                            alert("Thank you");
                        }
                    });
                return false;
        });
    });
</script>

FPDF php

    <?php
require('fpdf.php');

$front_finish_name_field = $_POST['front_finish_name_field'];
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,$front_finish_name_field);
$pdf->Output( "sample.pdf", "I" );
?>

修改

看起来问题在于将生成的pdf返回给用户。如果我将pdf设置为保存在服务器上,则字段值将显示在文档中。

2 个答案:

答案 0 :(得分:0)

PDF输出是否生成有效的PDF?如果您在PDF前导码之前意外写入空格,则该文件可能显示为空白(因为读者不会将PDF魔术字符看作是第一件事)。

我会非常仔细地检查PHP文件并确保文件中的第一个字符是<php<?,之前绝对没有空格(新行,制表符,空格)输出PDF数据之后绝对没有空格(之后尝试放exit();)。

答案 1 :(得分:0)

将PDF内容粘贴到SO中通常不是一个好主意,但它确实向我展示了一些重要内容:

该文件中唯一的字体是“Helvetica”,而不是“Arial”......哎呀。根据FPDF文档,就他们而言,Arial只是Helvetica的同义词。它是“Helvetica-Bold”。好的。所以你的SetFont调用不会被简单地忽略。这是个好消息。

页面内容流的压缩长度足以让我觉得SOMETHING在那里,可能是你的文字(用你看不到的方式绘制)。

您能给我们一个PDF链接吗?为什么看不见明显有效的文字有很多原因。