2011-07-20 58 views
0

我正在處理c#.net應用程序和使用水晶報告。我需要在點陣打印機上打印水晶報告,但由於水晶報告以圖形模式打印,因此打印速度非常慢。所以我轉向基於dos的打印並使用RawPrinter助手類來打印它。這工作得很好。C中的字符串操作#

但是將數據集寫入文本文件(以發票報告格式),使用大量字符串操作來定位字符,間距等。我使用字符串構建器類和填充以及大量的if,else來打印頁面總數,總計,稅金等

寫這樣一個文本文件中是這樣的痛苦。

請建議我一些其他可行和有效的辦法。

感謝

+0

目前還不清楚*究竟是什麼痛苦。如果您可以發佈代碼示例,以便我們嘗試重構它,那可以更容易地幫助您。 –

+1

也許讓你的組織停止使用點陣式打印機並升級! –

+1

當然,購買新打印機比所有的開發時間都便宜? –

回答

2

您可以將數據集導出到XML(DataSet.WriteXml),並把它轉換爲使用XSLT另一個文本格式。

+0

請給我一些代碼,只有幾行。任何有用的鏈接。 –

1

你需要某種templateing engine,但你是不是做HTML你需要的發動機是單機。有些選項請參閱C# template engine

XSLT是一個很好的選擇,如果你喜歡XML和已經知道如何使用它,否則我會傾向於使用更多的代碼「代碼中心」的解決方案。

1

我也有類似的問題,改變打印機是不是因爲使用點陣打印機1800級左右的客戶端的解決方案。所以我提出的解決方案是使用模板引擎(StringTemplate http://www.stringtemplate.org/),獲取輸出文本文件並將其發送到打印機。

0

使用標籤的一切。它會讓你自動把東西放在標籤欄中。