【问题标题】:Click the button print selected page(while click button send no of pages) in window.print()?单击 window.print() 中的按钮打印所选页面(单击按钮发送页面数)?
【发布时间】:2020-01-11 01:08:36
【问题描述】:

点击按钮打印选定的html页面。选定的 html 有 5 页,但我只想打印前两页。是否可以仅在单击按钮时发送前两页。 window.print() 是否有任何功能只发送打印前 2 页而不是 5 页?

【问题讨论】:

  • 没有。 window.print 方法不带任何参数。我看到你这样做的唯一方法是在 CSS 中使用 @media print 隐藏剩余的 3 个页面,然后调用 window.print 方法。
  • 这里的 2 是在运行时动态更改的,并且在单击按钮时也在打印机页面属性中选择 1-2。我怀疑这是否可能?

标签: javascript angular angular6 angular7


【解决方案1】:

您可以使用 ngx-print,它是一个角度组件,可用于打印页面的某些部分。 - https://www.npmjs.com/package/ngx-print

使用 ngx-print,你可以使用这样的东西:

<div id="sectionToPrint"> your content.. </div>

然后,对于打印按钮,您可以像这样使用 ngx-print 属性:

<button printSectionId="sectionToPrint" ngxPrint> Print </button>

这只会打印 "sectionToPrint" id 内的内容。 希望这会有所帮助。

【讨论】:

    【解决方案2】:

    简单的答案是。只是因为window.print()方法中没有参数,或者这样的配置才这样做。请参阅MDN Docs。但是有一个简单的解决方法可以实现您想要的东西。您可以做的只是在调用window.print() 方法之前将style="max-height: 400px; overflow: hidden" 设置为HTML 的body。这里的示例400px 大小仅用于演示。您必须使用trial and error 找到它。您还必须删除style,否则您将无法浏览整个页面。

    【讨论】:

      猜你喜欢
      • 2014-09-10
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      相关资源
      最近更新 更多