Отправка переменных из jQuery в FPDF - PullRequest
1 голос
/ 23 июня 2011

Я пытаюсь отправить содержимое формы с помощью 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" );
?>

EDIT

Похоже, проблема заключается в возврате сгенерированного PDF пользователю. Если я установлю pdf для сохранения на сервере, значения полей появятся в документе.

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Как правило, вставлять содержимое PDF в SO таким образом не очень хорошая идея, но он показал мне кое-что важное:

Единственный шрифт в этом файле - "Helvetica", а не "Arial" ..Упс.Согласно документам FPDF, Arial является синонимом Helvetica, насколько они касаются.И это "Helvetica-Bold".Хорошо.Таким образом, ваш вызов SetFont не был просто проигнорирован.Это хорошая новость.

И сжатая длина потока контента страницы достаточно велика, чтобы заставить меня думать, что ЧТО-ТО там, возможно, ваш текст (нарисован так, что вы не можете видеть).

Можете ли вы дать нам ссылку на PDF?Существует ряд причин, по которым явно действительный текст не виден.

0 голосов
/ 23 июня 2011

Является ли вывод PDF действительным PDF?Если вы случайно пишете пробелы перед преамбулой PDF, файл может показаться пустым (потому что читатель не видит магические символы PDF как самое первое).

Я бы очень очень тщательно проверил PHPфайл и убедитесь, что самыми первыми символами в файле являются <php или <?, что до этого абсолютно НЕТ пробелов (новые строки, табуляции, пробелы) и что после вывода данных PDF абсолютно нет пробелов (попробуйте потом поставить exit();).

...