1

我有一个 asp.net mvc 应用程序,我的视图是 HTML5。我需要将视图打印为报告。此视图显示了一些带有<table/>标签的数据,并使用 css 样式格式化为font-familyfont-sizetext-align属性等。当我尝试用 Chrome 打印它(导出为 PDF)时,我的 css 不起作用,我的意思是,打印结果显示没有格式化。

我能做些什么来解决这个问题?不管我是使用 css 来应用样式还是使用 html 标签来格式化页面,但我希望它会留下格式化的印象。

PS:我想保留html有效文档。

4

3 回答 3

0

您需要通过以下设置将css拆分为屏幕并单独打印

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

然后无需更改您的 html 代码只需更改 css 或复制旧 css。

于 2012-07-12T18:17:55.850 回答
0

您可以尝试使用@media print规则定义 css 语义,然后在考虑到这一点的情况下对样式表进行样式化。也许这有帮助。

于 2012-07-12T18:22:37.640 回答
0

您可以在样式表中为屏幕和打印媒体使用不同的样式,即

@media screen
{
    table.test {
        font-family:"Times New Roman",Georgia;
        font-size:10px;
        // more
    }
}

@media print
{
    table.test {
        font-family:Verdana, Arial;
        font-size:10px;
        // more
    }
}

当您打印表格时,只会应用打印媒体中定义的样式。

检查此以获取更多信息

于 2012-07-12T18:38:54.663 回答