【问题标题】:Print in separate page Javascript? [closed]在单独的页面中打印 Javascript? [关闭]
【发布时间】:2011-03-27 00:40:17
【问题描述】:

我目前正在使用 PHP 并获取完整的用户详细信息并将其显示到 html 表格中。我遇到的问题是当我打印 3 个表格时,每个表格都完美地打印在每一页上。但是当我尝试打印超过 3 个表格时,每个表格都向上移动,并且表格部分打印在每页上(每页中有 1 ½ 个用户详细信息)。我已为表格指定了固定高度,但仍部分显示。

有人可以推荐一个可以在一页打印单个 html 表格的 Javascript 吗?

【问题讨论】:

  • 你能贴一些代码,让我们很容易理解你在说什么吗?

标签: javascript php html html-table


【解决方案1】:

您可以这样做的一种方法是创建一个新文档(可能在一个不可见的 iframe 中),将表格的内容转储到那里并在 iframe 上调用 .print()

正如 DA 所指出的,您可以操纵打印 CSS;通过隐藏您要打印的表格以外的所有内容,但这可能不适用于浏览器。

【讨论】:

    【解决方案2】:

    JavaScript 对打印没有影响,只是在某些情况下可以调用浏览器的打印对话框。

    打印 CSS 可能会有所帮助,但即便如此,并非所有浏览器都完全支持或保持一致(cough IE cough

    如果您想保留对打印件的绝对控制权,这是我推荐 PDF 的少数情况之一。让网页上的 PRINT 链接回调服务器,重新获取数据,然后格式化为 PDF 并流回浏览器。

    【讨论】:

      【解决方案3】:

      在浏览器中打印的问题在于,您所看到的并不总是您所得到的。人们有不同的打印机设置和分辨率,可能完全适合一个用户的纸张可能完全不适合另一个用户的纸张。在 HTML 中没有万无一失的方法。

      使打印文档 100% 完美的最佳方法是生成 PDF。在 PHP 中创建 PDF 文档的工具有很多——谷歌搜索会带你去你想去的地方。

      【讨论】:

        【解决方案4】:

        最好的方法是使用 CSS。 CSS3 有一个page-break-after: always 属性,您可以将其应用于您的表格(另请参阅http://www.w3schools.com/CSS/pr_print_pageba.asp)。请注意,不同浏览器对它的支持还不是应该的,但 IE8 和其他浏览器的当前版本应该支持它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-03-22
          • 1970-01-01
          • 2011-10-09
          • 2023-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多