HTML + CSS现在与生成打印报告有多成熟?

pra*_*mer 14 html javascript php printing html5

我正在考虑将一系列桌面业务应用程序的所有报告直接创建到html.大多数报告都是表格(可能是复合报告),页眉,页脚等(没有图像,矢量图形等).

在SO中搜索之后,我已经阅读了大量有关分页符等问题的文章(我根本不需要像素定位,但是在分页符时是控件).

例如,假设我有一个带有货币值的大表,我需要每页表格的最后一行显示当时的运行总计..​​这是可行的,或者我会遇到很多麻烦?

哪些技术可以帮助我?

  • HTML5
  • 使用Javascript
  • CSS
  • PHP图书馆
  • JQuery的

一些说明:

  • html将与嵌入的chrome或firefox引擎一起显示,因此浏览器之间的差异对我来说不是问题.
  • 我可以嵌入php预处理器,如果这有助于更容易地生成报告,我只是在寻找手头上最好的技术来使工作顺利进行..
  • 我厌倦了"WYSIWYG"设计师的报告生成器(Crystal Report,FastReport,ReportBuilder等)

谢谢!

Dan*_*abo 8

我们做了你差不多一年前想到的确切行动,并没有回头.与客户的大多数沟通都是通过网络进行的,因此它非常适合.他们可以在我们的网站上轻松查看html输出,并在必要时生成页面(服务器端)的pdf.我们用于pdf转换的程序是一个免费的,易于使用的开源项目,名为wkhtmltopdf.

我们在哪里很棒,但到这里很困难.

决定使用哪个pdf引擎是一个漫长而痛苦的过程.缺点是HTML用于在互联网上查看页面,而不是用于在纸上查看页面.分页符号将成为您在此游戏中存在的祸根 - 您必须衡量每个页面并为每个报告创建自己干净的休息时间(否则,所有html-to-pdf转换器都将继续呈现将文档放到下一页上,如果没有遇到页面中断的话. 使问题进一步复杂化的是,每个html-to-pdf引擎都以不同的方式处理这个问题,你必须编写一个定制的解决方案来测试每一个,看看它是否满足你的个人需求.

现在,好消息:

通过听取我的建议并使用wkhtmltopdf来完成最终报告输出,您可以省去很多麻烦.这个小程序简直太棒了 - 它使用webkit引擎,准确呈现CSS/javascript,具有页眉/页脚控件,可选地创建目录页面,并且(最重要的是)始终如一地生成出色的外观pdf而无需定制你的代码库.它还有各种出色的命令行开关,非常非常快. 我再说一遍:它非常非常快.

最重要的是,它是一个可用于批处理的命令行工具.我是否提到它真的非常快?


Poi*_*nty 6

浏览器对打印的支持通常很糟糕.不过,也有其他的工具,特别是王子(这是不是免费的)和飞碟(这免费的),可以生成XML/HTML CSS加PDF输出.Prince甚至支持JavaScript,虽然我对它没有任何经验.

我目前的应用程序中有一个Java后端,所以对我来说,Flying Saucer适用于简单的报告.我使用FreeMarker预处理HTML模板,然后通过Flying Saucer运行结果.它有一个令人惊讶的智能渲染引擎.

CSS3页面媒体规范(当然,提出规范),有各种的很酷的东西,但他们几乎在浏览器中完全未实现.即使是CSS2分页媒体也只能半心半意地支持.