Div 使用不显眼的 javascript 打印

Div Print using unobtrusive javascript

提问人:bootsy 提问时间:10/12/2019 更新时间:10/12/2019 访问量:55

问:

我有一个“打印”链接,我想在其中打印“查看”页面的打印机友好部分。我不想打印菜单,而只是使用不显眼的 javascript 打印某个 div id。我该怎么做?

打印友好链接:

                  <a class="list-group-item"
                   asp-area="Admin"
                   asp-controller="Employee"
                   asp-action="View"
                   asp-route-id="@currentId"   title="Print">Printer-Friendly Version</a>

查看我要打印的页面:

            <div id="divPrint" class="col-md-8">
                 <h2>Administration</h2>
                 <h4>View the Document</h4>
                   <div class="card">
                   <div class="card-body">
                   <div class="col-md-12">
                    <span><b>@Model.Current.Title</b> as of <b>@Model.Current.AsOf.ToString("dddd, 
                    dd MMMM yyyy")</b></span>
                   </div>
                 </div>
                </div> 
             </div>
.net-core unobtrusive-javascript

评论


答:

0赞 thebc 10/12/2019 #1

使用 css 隐藏所有你不想打印的元素,为了安全起见,你可以指定你想打印的内容。@media printvisibility: hidden;visibility: visible;

在 中,还可以指定仅用于打印的样式。如果您在深色背景上有白色文本,则可以添加,使其更适合打印。@media printp { color: #000000; }

@media print {
  .classes-to-not-print, div, nav {
    visibility: hidden;
  }
  .classes-to-print, #divPrint {
    visibility: visible;
  }
}

评论

0赞 bootsy 10/12/2019
好的,我把它添加到了我的css中。我猜如何获得打印机友好链接来调用 css?
0赞 thebc 10/12/2019
以上内容只需要从它正在打印的页面链接。您可能需要将此链接添加到打印链接中,以便链接如下所示:@media printonclick="window.print()"<a class="list-group-item" onclick="window.print()" asp-area="Admin" asp-controller="Employee" asp-action="View" asp-route-id="@currentId" title="Print">Printer-Friendly Version</a>
0赞 bootsy 10/12/2019
我不能使用 onclick。我需要使用不显眼的javascript。
0赞 thebc 10/12/2019
这将取决于 your 的生成方式。只要您可以设置样式,我就会将其放在同一个 .css 文件中,或者如果您在页面中有 css,请将其放在标签中。#divPrint#divPrint@media print<style></style><style>@media print{}</style> <div id="divPrint" class="col-md-8">