Click here to Skip to main content
15,881,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
We have a DayPilot control implemented in our ASP.net MVC web application.
We have a Print/export option, that comes with the control. But when we use it we dont get the colors implemented in the control ( or say doesnt pickup the stylesheet)

I tried a few options with JQuery/Javascript to print the Div contents using Window.print().A few forums discussed about using @media css etc.. But that doesnt pickup the styles form external css file.

Shown below is a sample code. the Daypilot control is not included here. (since it is a licensed software). In this sample code, when we click on the "Print" button, the css of Label is not applied, where as the colors in H1 is applied.
Any Idea how to include the CSS classes from external CSS file when doing window.print ?

<pre lang="HTML"><html>
<link href="Styles/Site.css" rel="stylesheet" type="text/css" />
<head>
    <script language="javascript">
        function printdiv( printpage )
        {
            var headstr = "<html><head><title></title></head><body>";
            var footstr = "</body>";
            var newstr = document.all.item( printpage ).innerHTML;
            var oldstr = document.body.innerHTML;
            document.body.innerHTML = headstr + newstr + footstr;
            window.print();
            document.body.innerHTML = oldstr;
            return false;
        }
    </script>
    <title>div print</title>
</head>
<body>
 
    <input name="b_print" type="button" class="ipt"  önclick="printdiv('div_print');"
        value=" Print ">
    <div id="div_print">
        <label class="divStyle">
            The Div content which you want to print</label>
        <h1 style="color: Red">
            The Div content which you want to print</h1>
    </div>
  
</body>
</html>
Posted
Updated 4-Dec-12 4:01am
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900