Код для печати ASP.Net

Я новичок в ASP.Net, используя С#. Я хочу сделать страницу удобной для печати, и моя система должна автоматически изменить ориентацию принтера на альбомную по умолчанию. Контент включает изображения и текст. Я только хочу показать содержание. Как я могу это сделать?


person Jenny    schedule 21.03.2011    source источник
comment
@ Майкл, хорошо, я бы сказал, что мы исправили все ошибки, которые могли быть в этом вопросе :)   -  person Earlz    schedule 21.03.2011
comment
Кроме того, @jenny, вы используете эталонные страницы? У меня такое ощущение, что вам нужно полностью создать другую страницу, отличную от вашей обычной веб-страницы. Это намного проще, если вы следовали некоторому разделению между представлением (разметкой) и логикой домена.   -  person Earlz    schedule 21.03.2011
comment
@Earlz: всегда есть что-то еще... чтобы преследовать меня посреди ночи...   -  person Michael Petrotta    schedule 21.03.2011


Ответы (2)


Вы должны взглянуть на CSS для создания удобных для печати страниц:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

Когда вы устанавливаете атрибут media="print", вы говорите браузеру использовать именно эту таблицу стилей вместо обычной. Есть отличная статья о CSS, которую можно распечатать на A List Apart, "CSS Design: Going to Print" Эрик Мейер.

Что касается альбомной ориентации страницы, попробуйте в своем CSS:

@page { size: landscape }

Обновление: Daniel Ballinger был достаточно любезен, чтобы указать, что атрибут size: landscape не поддерживается в большинстве современных браузеров ( если есть).

person Jakob Gade    schedule 21.03.2011
comment
Мне не повезло настроить альбомную печать через CSS. См. также - stackoverflow.com/questions/4249532/ - person Daniel Ballinger; 21.03.2011

Вы можете попробовать использовать определения CSS, которые активно нацелены на вывод на принтер с использованием печатных носителей. Это позволит вам скрыть или показать элементы по мере необходимости.

Это можно сделать либо со ссылкой на отдельную таблицу стилей, либо с помощью правила @media в существующих определениях стилей.

Укажите целевой носитель в языке документа

<LINK REL="stylesheet" TYPE="text/css" MEDIA="print" HREF="print.css">

Укажите целевой носитель из таблицы стилей с помощью at-правил @media или @import.

@import url("print.css") print;

or

@media print {
  /* style sheet for print goes here */
}

В прошлом я рассматривал возможность изменения ориентации печати и пришел к выводу, что вы не можете контролировать это на веб-сайте. т.е. не было решения, которое хорошо работало бы для большинства браузеров. См. также Является ли @Page { size:landscape} устаревшим?

person Daniel Ballinger    schedule 21.03.2011