Показать сообщение отдельно
  #1 (permalink)  
Старый 30.12.2015, 11:15
Аватар для kristow
Аспирант
Отправить личное сообщение для kristow Посмотреть профиль Найти все сообщения от kristow
 
Регистрация: 26.02.2015
Сообщений: 49

POST запрос вывод на печать
Всем привет!
Есть страница с кнопкой на печать...
При нажатии открывается подготовленная страница для печати с колонтитулами. Я хочу чтобы их не было. Как вариант придумал перед выводом на печать генерировать страницу в pdf и ее уже выводить на печать, тогда колонтитулы верхние и нижние пропадают... Получаем красивую страницу для печати...

Страница начальная:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
		<title>jQuery Print Plugin</title>
    <script src="jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="jquery.printPage.js" type="text/javascript"></script>

  <script>  
  $(document).ready(function() {
    $(".btnPrint").printPage();
  });
  </script>
	</head>
	<body>
		<h3>Пример:</h3>
<div id="main_tab">тут таблица с данными...</div>
		<p>При нажатии на кнопку, будет подгружен iframe и напечатан!</p>
		<p><a class="btnPrint" href='iframes/iframe.php'>Печатать!</a></p>
	</body>
</html>

Ссылка на скрипт jquery.printPage.js

iframe.php работает с mpdf60 для генерации pdf документа. Тут все работает. Если кратко, то в документе формируется html который конвертируется в pdf формат. Я хочу не использовать в этом документе кучу sql запросов для генерации новой таблицы с данными, А взять ее из <div id="main_tab">.
Думаю что наверное правильный способ это передать ее через POST запрос.

Вот так я вывожу страницу на печать... Это без генерации pdf. Мне нравится как работает скрипт jquery.printPage.js. Вывод на печать осуществляется красиво, и наверное самое главное что использует iframe для генерации pdf формата...
$("#print_tab").click(function() {
	    var new_wnd = window.open(location.href+"?tmpl=component&print=1&layout=default&page=", "subWindow", "status,menubar,height=500,width=500,scrollbars=yes");
        var new_content = '<html><head><title>Мой сайт</title><meta http-equiv="content-type" content="text/html; charset=utf-8" />'; 
		css_path = "<?php echo JURI::base().'css/style_print.css'; ?>"
		new_content += '<script type="text\/javascript">function ImportStyleFile () {'
        new_content +=    'var linkTag = document.createElement ("link");'
        new_content +=    'linkTag.href = "'+ css_path +'";'
        new_content +=    'linkTag.rel = "stylesheet";'
        new_content +=    'var head = document.getElementsByTagName ("head")[0];'
        new_content +=    'head.appendChild (linkTag);'
        new_content += '}<\/script>';
		new_content += '</head><body onload="ImportStyleFile()">';
		new_content += '<img src="<?php echo JURI::base().'img/spec.png'.'?random='.rand()*1000000; ?>" class="leftimg">';
		new_content += $("#main_tab").html();
		new_content += '</body><html>';
		new_wnd.document.write(new_content);

		new_wnd.document.close();
		new_wnd.focus();
		setTimeout(function() {
			new_wnd.print();
			new_wnd.close();
		}, 100);
	  });

Подскажите пожалуйста, как можно переменную new_content передать POST запросом при выполнении jquery.printPage ??
Ответить с цитированием