2012-04-18 4 views
0
<a href="_javascript:window.print()"> 
<img class="noPrint" src="Images/Print_icon.png" border="0"></a> 

Это единственный код, который я использую для реализации функции печати. Он создает диалоговое окно печати. И чтобы сделать печать страницы дружественной, я использовал таблицы стилей и спрятал div, которые я не хочу на странице печати.Создать предварительный просмотр печати веб-страницы в asp.net

Теперь мне нужно создать предварительный просмотр этой страницы. Какие-либо предложения?

Thanks

ответ

0

Я действительно не считаю это практичным. Ваша веб-страница не знает размер шрифта (уровень масштабирования), поля страницы, ориентацию или что-то еще, что вам нужно знать, чтобы создать изображение предварительного просмотра печати.

Кроме того, страница может ссылаться на изображения и другой контент с других сайтов. Как ваш код узнает, что здесь нужно?

К счастью, браузеры, которые я использую (IE и Chrome), обеспечивают предварительный просмотр печати, поэтому вы все равно получите его бесплатно. Но если вы пытаетесь выполнить предварительный просмотр печати вручную, я просто не вижу в этом практической цели.

+0

Да, браузеры получили их, но мне нужно реализовать его вручную. Это своего рода требование. – sarika

0

Один из способов - использовать печать mediaType в вашем css. Этот css будет применяться только при открытии страницы в режиме печати. Добавьте следующий класс в ваш файл css:

@media print { 
// printer friendly page css 
} 

Другой способ - использовать чистый javascript. в сети есть articles:

Если у вас есть общий шаблон для страниц, дружественных к принтеру. Я предлагаю вам создать отдельную страницу в целом для печати, и когда пользователь нажимает на ссылку, перейдите на ее новую страницу для печати. Я бы рекомендовал этот подход, поскольку он является надежным, и у вас есть полный контроль над ним, у остальных подходов есть некоторые подводные камни.

+0

ya i know tHats единственный вариант left..thnx – sarika

1

В принципе, до настоящего времени функциональности не существует, но вы можете добиться этого, создав копию одного и того же файла html с именем print.htm с помощью Print css и откройте этот файл на кнопке Print Preview, щелкните как всплывающее окно и отрисуйте его. Это будет Предварительный просмотр страницы:

<html> 
<head> 
<title></title> 
//do it in simple way.. 
<script LANGUAGE=”JavaScript”> 
function displayMessage(printContent) { 
var inf = printContent; 
win = window.open(”print.htm”, ‘popup’, ‘toolbar = no, status = no’); 
win.document.write(inf); 
win.document.close(); // new line 
} 
</script> 
</head> 
<body> 
<div id=”printarea”>Print this stuff.</div> 
<a href=”javascript:void(0);” onclick=”displayMessage(printarea.innerHTML)”>Print Preview</a> 

</body> 
</html> 
+0

hey !!! ur code работает хорошо, но проблема в том, что я не могу использовать id div здесь. Я хочу напечатать более 1 div's.So можете предложить любые другой вариант ?? – sarika

+0

Вы можете делать столько div, сколько хотите, только в вашем print.htm вы добавляете весь свой контент, который хотите распечатать. –

 Смежные вопросы

  • Нет связанных вопросов^_^