2012-03-30 84 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