如何打印页面以及所有CSS格式

时间:2012-01-06 03:43:08

标签: c# asp.net html css printing-web-page

我正在打印功能。我得到的问题是正在打印的页面不保留它的CSS格式。我在没有CSS的情况下获得关于打印的纯文本。有没有人知道如何打印页面,所有的CSS格式都没有改变。

2 个答案:

答案 0 :(得分:3)

您尝试打印的网站很可能有一个用于打印的自定义样式表。此样式表通常被简化并适合打印页面。除非你能够修改或删除打印CSS文件,否则我认为你无法做很多事情。

Intro to print style sheets

一个示例标记。

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

也许有一些方法可以使用javascript以编程方式删除样式表,但我不确定。

答案 1 :(得分:2)

对于任何仍在疑惑的人,简单来说,你可以在链接标记中找到一个CSS样式表,其中包含'media =“screen”',如下所示:

<link id="Link1" href="../Styles/MainStyleSheet.css" rel="Stylesheet" type="text/css" runat="server" media="screen" />

这将调整浏览器屏幕中显示的样式。

您还可以在链接标记中使用另一个CSS样式表,其中包含'media =“print”',如下所示:

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

这样可以确定用户查看打印预览时/在纸张上打印时的样式。

如果你提出类似的内容:

.inprintdisabled
{
 display: none;
}
在print_voucher.css文件中

。 HTML代码中的任何地方都有

<div class="inprintdisabled">

它将在浏览器窗口中显示该div的内容,但不会在打印预览窗口中打印/显示它。

同样,如果你把

.inprintOnly
{
 display:none;
}
TypeStyleSheet中的

<div class="inprintOnly">

在您的HTML代码中,您可以拥有不会出现在浏览器屏幕上的对象(文本,图像等),但会在预览/打印出来时显示。

希望这有帮助。