C# 如何打印带有所有CSS格式的页面

C# 如何打印带有所有CSS格式的页面,c#,asp.net,html,css,printing-web-page,C#,Asp.net,Html,Css,Printing Web Page,我正在做一个打印功能。我遇到的问题是,正在打印的页面没有保留CSS格式。我得到的打印没有CSS的纯文本。是否有人知道如何在CSS格式保持不变的情况下打印页面。很可能您试图打印的站点有一个自定义的打印样式表。此样式表通常被简化并制作成适合打印的页面。我不认为有什么可以做的,除非你有能力修改或删除打印CSS文件 一个示例的标记 <link rel="stylesheet" type="text/css" media="print" href="print.css" /> 也许有某

我正在做一个打印功能。我遇到的问题是,正在打印的页面没有保留CSS格式。我得到的打印没有CSS的纯文本。是否有人知道如何在CSS格式保持不变的情况下打印页面。

很可能您试图打印的站点有一个自定义的打印样式表。此样式表通常被简化并制作成适合打印的页面。我不认为有什么可以做的,除非你有能力修改或删除打印CSS文件

一个示例的标记

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


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

简单地说,对于仍然感到疑惑的人来说,您可以拥有一个链接标记中带有“media=”screen“的CSS样式表,如下所示:

<link id="Link1" href="../Styles/MainStyleSheet.css" rel="Stylesheet" type="text/css" runat="server" media="screen" />
<link rel="stylesheet" href="../Styles/print_voucher.css" type="text/css" media="print" />
在您的print_voucher.css文件中。HTML代码中的任何地方都有

<div class="inprintdisabled">
在你的床单上

<div class="inprintOnly">

在HTML代码中,可以有一些对象(文本、图像等)不会显示在浏览器屏幕上,但会在预览/打印时显示


希望这能有所帮助。

你的意思是说……我需要为打印媒体创建另一个名为print.css的样式表?除了创建单独的打印样式表之外,没有其他方法吗?我是说网站默认使用所有css打印。如果您没有使用CSS打印,那么页面已经有了一个打印CSS表(或者可能是
@media=“screen”
已定义,这会阻止样式通过。我想很有可能是浏览器设置实现了这一点。您可以通过尝试从单独的浏览器打印来进行测试。如果您提供指向相关网站的链接,您可以肯定地告诉您。
.inprintOnly
{
 display:none;
}
<div class="inprintOnly">