在网络上报告体面的印刷

时间:2009-05-14 22:05:08

标签: javascript html css printing report

作为一名网络系统程序员,我想生成一些报告,并能够直接从我的用户浏览器发送到打印机,这是在客户端,不需要生成PDF或类似的东西。< / p>

我希望能够:

  • 打印用户友好的分页,类似“第1页,共3页”
  • 在每个页面的底部打印一些内容,例如“2009-02-20中生成”
  • 打印网址

这一切都可能吗? JavaScript的? CSS?这里的最佳做法是什么?

4 个答案:

答案 0 :(得分:6)

所有这些都是通过浏览器首选项完全控制的。如果您希望能够指定,那么您可能应该查看PDF而不是HTML。

答案 1 :(得分:1)

在那里使用浏览器你运气不好......我认为不可能不在角落里打印URL,访问日期/时间等。

然而,Page 1或3等通常总是打印在某处(我相信FireFox的右下角)

打印'生成于2009-02-20'很容易,但是在每页的底部打印它将很困难。大多数浏览器,IIRC,显示在角落访问的日期和时间(虽然不是那种格式,更容易以人类可读的格式)。

您想要在打印中显示但不在普通屏幕视图中的任何内容都需要使用打印样式表显示。

对于您想要的(完全控制打印输出),我建议生成PDF。也许如果这是一个内部工具,您可能可以为Firefox编写一个可以自动打印pdf的插件,但我不熟悉Firefox插件的功能,因此您需要进行实验。

答案 2 :(得分:1)

肯定缺乏来自不同浏览器的支持,但是css有一个名为print的媒体类型,要使用它,只需在你的css文件或标签中定义一个部分,如下所示:

@media print{
/* normal style declarations
 but you probably want to hide menus 
 and other navigation, also use black on white,  etc.
 */
}
@media screen{
/* your current stylesheet */
}

This List Apart article涵盖了基础知识。

并且here's an entry point符合wc3规范。

答案 3 :(得分:0)

您可以使用SQL报告服务来生成报告。它使用自己的客户端打印控件activex,但结果很好。