2011-03-21 43 views
0

我是使用C#的ASP.Net的新手。我想打印一张友好的页面,我的系统默认情况下会自动将打印机方向改为横向。内容包括图像和文字。我只想显示内容。我怎样才能做到这一点?ASP.Net打印机友好代码

+0

@Michael,我想说我们已经纠正了每个可能出现在这个问题中的错误:) – Earlz 2011-03-21 02:00:30

+0

另外,@ jenny,您是否使用母版页?我有一种感觉,你需要从常规的“网页”页面完全创建一个不同的页面。如果你按照视图(标记)和域逻辑 – Earlz 2011-03-21 02:02:08

+0

@Earlz之间的一些分隔,这会容易得多:在那个半夜里总会有更多......让我困扰...... – 2011-03-21 02:02:29

回答

3

你应该看看CSS创建打印友好的页面:

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

当您设置media="print"属性,你告诉浏览器使用特定的样式表而不是常规的一个。有一篇关于CSS的文章,并由Eric Meyer在A List Apart, "CSS Design: Going to Print"上打印。

专门为横向页面方向,试试这个在你的CSS:

@page { size: landscape } 

更新:Daniel Ballinger还跟指出size: landscape属性在大多数不支持当前浏览器(如果有)。

+0

通过CSS设置横向打印。另见 - http://stackoverflow.com/questions/4249532/is-page-sizelandscape-obsolete – 2011-03-21 02:28:47

3

您可以尝试使用主动定位到使用print media的打印机输出的CSS定义。这将允许您根据需要隐藏或显示元素。

这可以通过引用单独的样式表或在现有样式定义中使用@media规则来完成。

指定 文档语言中的目标介质

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

从样式 片与@media指定目标介质或在规则@import 。

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

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

我已经看了改变以往的打印方向,我得出的结论是,这是你在一个网站的控制能力之外。即没有任何解决方案适用于大多数浏览器。另请参阅Is @Page { size:landscape} obsolete?