Jump to content

Jquery Jqprint


dotkpay

Recommended Posts

Hello,

 

I have been trying to print a div with jqPrint plugin but I always get a blank paper rolling out of my printer.

Could anyone please show me why I cant get the div printed. I copied and pasted jquery.jqprint-0.3.js into the head section.

 

Thanks in advance

 

<html>
<body>
<head>
<style type="text/css">
body{
color:#000;
font-size:18px;
}
#printarea{
position:absolute;
top:50px;
left:10px;
}
@media print{
#printarea {
 background-color: white;
 height: 100%;
 width: 100%;
 position: fixed;
 top: 0;
 left: 0;
 margin: 0;
 padding: 15px;
 font-size: 14px;
 line-height: 18px;
}
}
</style>
<script type="text/javascript">
// -----------------------------------------------------------------------
// Eros Fratini - [email protected]
// jqprint 0.3
//
// - 19/06/2009 - some new implementations, added Opera support
// - 11/05/2009 - first sketch
//
// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea
// requires jQuery 1.3.x
//
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
//------------------------------------------------------------------------

(function($) {
   var opt;

   $.fn.jqprint = function (options) {
    opt = $.extend({}, $.fn.jqprint.defaults, options);

    var $element = (this instanceof jQuery) ? this : $(this);

    if (opt.operaSupport && $.browser.opera)
    {
	    var tab = window.open("","jqPrint-preview");
	    tab.document.open();

	    var doc = tab.document;
    }
    else
    {
	    var $iframe = $("<iframe  />");

	    if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); }

	    $iframe.appendTo("body");
	    var doc = $iframe[0].contentwindow.document;
    }

    if (opt.importCSS)
    {
	    if ($("link[media=print]").length > 0)
	    {
		    $("link[media=print]").each( function() {
			    doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
		    });
	    }
	    else
	    {
		    $("link").each( function() {
			    doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
		    });
	    }
    }

    if (opt.printContainer) { doc.write($element.outer()); }
    else { $element.each( function() { doc.write($(this).html()); }); }

    doc.close();

    (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus();
    setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);
   }

   $.fn.jqprint.defaults = {
       debug: false,
       importCSS: true,
       printContainer: true,
       operaSupport: true
   };

   // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
   jQuery.fn.outer = function() {
  return $($('<div></div>').html(this.clone())).html();
   }
})(jQuery);

</script>
<title>Jquery jqPrint Plugin</title>
</head>
<body>
<div>
<u>Jquery jqPrint Plugin</u></p>
</div>
<div id="printarea">
Should Print this Only
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#printarea').jqprint();
});
</script>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/268865-jquery-jqprint/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.