2012-03-30 30 views
0

我们目前拥有使用XSLT样式表在Web浏览器控件中显示详细数据的XML文档。我们可以使用浏览器的打印对话框打印这些内容,但我们需要更多的控制。我们需要的主要功能是在打印之前获得文档的页数,而我们需要的第二个主要功能是对打印选项进行控制,例如选择纸张应从哪个托盘中取出。在打印出具有PrintDocument基础的其他文档时,我可以同时执行这两个操作。使用XSLT在.net中打印的XML

我们可以在没有打印设置部分的情况下生活,但我们确实需要一种方法来获取页面数量。如果有人可以找到另一种方法,我们不必使用webbrowser控件。目前我们只使用webrowser控件来查看和打印文档,我们需要批量打印过程的页数,因此用户无需在此过程中查看文档。

有没有人有另一种方法来打印XML与XSLT文件,这将允许我们得到页数?

感谢,

回答

0

不幸的是,涉及呈现的HTML的任何页面数的解决方案都将有一个非常“哈克”的感觉吧。使用HTML时,打印时无法确定100%的准确页数。

另外,还有被称为XSL基于XML文档化出版标准:FO,你可以以类似的方式使用,以目前你在做什么(而不是XML & XSLT - > HTML,它的XML & XSLT - > XSL :FO),但它通常需要使用第三方渲染器,如http://www.antennahouse.com/xslfo.htm

+0

是的,我知道它将成为一个hacky解决方案,但这很好。我们只需要得到一些工作。使用打印文档类,您可以发送打印作业,并且有一个名为OnPrintPage的事件,我可以将一个计数器插入,然后在打印实际发送到打印机之前取消打印作业。类似这样的事情会很好,但不幸的是微软几乎无法控制从网络浏览器控制打印。 – kds6253 2012-03-30 19:05:35

+0

第三方选项现在不是真的可能。我们有很多事情依赖于当前的配置 – kds6253 2012-03-30 20:19:54