2

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

4

2 回答 2

3

您尝试打印的站点很可能具有用于打印的自定义样式表。该样式表通常被简化并适合可打印的页面。除非您有能力修改或删除打印 CSS 文件,否则我认为您无能为力。

打印样式表介绍

示例标记之一。

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

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

于 2012-01-06T03:48:06.863 回答
2

对于任何仍然想知道的人来说,简单来说,您可以拥有一个在链接标记中包含 'media="screen" ' 的 CSS 样式表,如下所示:

<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;
}

在您的 MainStyleSheet 和

<div class="inprintOnly">

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

希望这可以帮助。

于 2013-06-01T16:41:02.943 回答