+2  A: 

You can't print a specific area of a page, but you can hide the rest of the page when printing. Create a CSS that hides the element that you don't want to print:

@media print {
  .someelement, .otherelement, .morelement { display: none; }
}
Guffa
i have a problem coz i have my page as nested table and i want to print a table which is nested inside other.. so if m hiding the outermost table then how can i print the inside one.
FosterZ
@FosterZ: You can't, so you have to find some other way of specifying what you want to hide. With your current layout you would have to hide the cells separately so that you can single out the one you want printed.
Guffa
ok thanks, better i re-structure my page so that i can use this @media..1 more thing, when m printing the page images like banner,logo r not printing only text is get printed..thr r some gif images in my table that i want to print too..
FosterZ
@FosterZ: By default (at least in IE) background images and colors are not printed, but that can be enabled by the user. If you use image tags instead, they should always be printed.
Guffa
+3  A: 

You can use a print style sheet, which sets the display property on everything except what you want printed to none.

You can load different stylesheets for different media using the media attribute.

style.css:

#header 
{
    background-color: #ccc;
    font-size: 2em;
    height: 4em;
    clear: both;
}

print.css:

#header
{
    display: none;
}

yourpage.aspx:

<head>
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />  
    <link rel="stylesheet" href="print.css" type="text/css" media="print" />
</head>
<body>
    <div id="header">My Site!</div>
    <div id="content">
      Only print me
    </div>
</body>
Michael Shimmins