2009-10-06 69 views

回答

1

很大程度上取決於您製作UI的方式。

我們編寫windows應用程序並使用Crystal Reports:http://www.crystalreports.com/和ActiveReports http://www.datadynamics.com/兩者都不是免費的,都有自己的表單設計器和編程對象(用於從您的UI進行打印)。

我們更喜歡Crystal over Active,主要是因爲我們擁有Crystal多年的經驗。

填寫數據的形式包括:

  1. 將數據寫入一些標準的數據存儲,通常是一個數據庫記錄。
  2. 創建一個表格,並附上數據存儲 - 有菜單項選擇一個數據庫,表,視圖等
  3. 插入表單上的數據字段 - 有菜單和工具欄項目列表中的字段和公正拖動&刪除需要打印的區域。
  4. 在包含您的UI的程序中,包含打印表單的對象。
2

我已經使用了XMLFO。

http://www.w3schools.com/xslfo/default.asp

+0

這是非常有趣的。您是否使用自己的技術來打印/顯示結果或第三方工具?或者這只是呈現給網絡瀏覽器? – 2009-10-06 16:24:33

+0

我們創建了我們需要的模板,然後將輸出信息合併爲PDF。與郵件合併非常相似。我們用這種技術製作了一些非常漂亮的房地產宣傳冊。 – 2009-10-06 16:40:06

+0

+1。這是一個很好的聯繫。我沒有聽說過XMLFO這個詞。當然,我已經與XSLT合作過,但這對我來說是新的。謝謝。 – David 2009-10-06 16:52:19

0

Adobe Acrobat的完整版,您可以用PDF文件做到這一點。

編輯 - 添加

我知道你的標籤指定你正在尋找一個WPF或WinForms的路程要做到這一點,但我的答案是基於我的「作業的合適的工具」的理念。 Acrobat是標準的,適用於指定精確打印,幾乎所有瀏覽網頁的人都可以使用它並瞭解如何填寫表單。

如果您從未使用過Acrobat自行創建可填寫的表單,則會出現學習曲線和費用。您需要平衡這一點,以便讓您的用戶瞭解一些熟悉的功能,並且具有良好的記錄。

+0

渲染和合並這些PDF的性能如何? – 2009-10-06 16:05:06

+0

還不錯。最大的問題是陡峭的學習曲線。 – David 2009-10-06 16:10:24

+0

你如何預先填充數據的表單域?第三方工具? – 2009-10-06 16:22:51

0

我知道我已經回答過一次,但這是一個完全不同的答案,所以我發佈第二個答案,而不是修改第一個(再次)。

此外,我想說,其他用戶提供的答案也是很好的答案。 @ wagr建議使用Crystal Reports是一個不錯的選擇。我只是想着其他的選擇,所以你有更多的選擇。

獲取用戶輸入可以通過多種方式完成,因此這些答案專注於打印漂亮的輸出。對於打印: 您也可以使用Word的郵件合併功能。 您可以使用鏈接表與Access數據庫鏈接到源數據庫,並在Access中創建報表。 (學習曲線不太陡峭)。代碼一個Asp。網站,並使用CSS,以確保它打印很好(但當然有限制)