Генерация PDF с ajax, отображаемым как случайные строки?

Извините за мою новичку, но это то, что я есть. Во всяком случае, я пытаюсь создать код, который будет выглядеть следующим образом:

  1. Пользователь делает запрос из базы данных
  2. Результаты отображаются в модальном окне (с пользовательским интерфейсом jQuery)
  3. Существует возможность просмотреть это как PDF в модальном окне
  4. Ajax возьмет html и отправит его в pdfajax.php для создания PDF с помощью TCPDF
  5. Ajax вернет результат в формате PDF

Я попытался это сделать, но я наткнулся на шаги с 3 по 5. Все, что я точно знаю, это то, что я могу передать код html, который мне нужен, с Ajax, и если я не буду печатать его как PDF, просто эхо его как PHP, он работает. Поэтому я, кажется, застрял только на шаге 5.

Для экспериментов я просто пытаюсь показать простой PDF-высказывание «Эй», даже не переходя в переменные (я прокомментировал это сейчас).

Результат уродливый: результат

Я думаю, что мне не хватает функции здесь, которая очистит данные до передачи через Ajax? Но что это за функция? Или это вообще существует, и все это просто бессмысленное усилие?

Вот HTML:

<div class="dialog-form" title="Query Dialog"> <br /> <div id="query_result"></div> <br /> </div> 

И jQuery

 $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: true, resizable: true, width: 500, height: "auto", dialogClass: "no-close", buttons: { "PDF": function(){ var html = $('#query_result').html(); $.post('pdfajax.php', { html: $('#query_result').html() }, function( data ){ $('#query_result').replaceWith( data ); } ); //alert(html); }, "Close": function() { $(this).dialog("close"); } } }); $(".minisubmit").click(function() { $( ".dialog-form" ).dialog( "open" ); }); 

И PHP в pdfajax.php

 <?php //$htmlp = $_POST['html']; //echo '<iframe id="query_result" srcdoc="',$htmlp,'" seamless="true"></iframe>'; require_once 'tcpdf/tcpdf.php'; $method = $_SERVER['REQUEST_METHOD']; if(strtolower($method) == 'post'){ $pdf = new TCPDF(); $pdf->AddPage(); $html = <<<EOD Hey EOD; $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); $pdf->Output('example_001.pdf', 'I'); } ?> 

РЕДАКТИРОВАТЬ:

Я попытался использовать iframe прямо внутри html, но он не работает. Теперь ничего не происходит после нажатия кнопки PDF.

HTML действительно просто обновляется.

 <div class="dialog-form" title="Query Dialog"> <br /> <div id="query_result"></div> <iframe src="pdfajax.php" id="report_result"></iframe> <br /> </div> 

Теперь jQuery:

  $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: true, resizable: true, width: 500, height: "auto", dialogClass: "no-close", buttons: { "PDF": function(){ var html = $('#query_result').html(); $.post('pdfajax.php', { html: $('#query_result').html() }, function( data ){ //$('#report_result').( data ); $('#report_result').prop('src', 'pdfajax.php'); } ); //alert(html); }, "Close": function() { $(this).dialog("close"); } } }); 

И никаких изменений для файла ajax. Мне нужен намек на то, как действовать дальше? Я понятия не имею, как манипулировать тегом iframe вообще, и интернет-учебники, похоже, не помогают мне понять.