2012-04-25 66 views
2

有時,我們都需要從.NET程序打印文檔。讓我們說一個簡單的帶有文本和圖像的單頁文檔。以C#打印文檔的方法

到目前爲止,我知道2點的方式來做到這一點:

  1. 使用標準的PrintDocument類
  2. 生成PDF/DOC文檔使用像PdfSharp這樣的工具

第一種方式我不因爲編寫所有這些用於處理事件的例程需要花費大量時間,而標準PrintPreviewDialog只是很難看。除此之外,您需要在打印預覽和實際打印中生成並縮放2個不同的文檔。

第二種方式困擾我,因爲這些免費組件往往是有限的,記錄不完善。

您知道哪些其他打印解決方案?

回答

1

我還沒有看到.NET中的優雅打印解決方案,除了WPF和XPS。在這種情況下,您可以在Xaml中創建一個UI並將其打印出來。但XPS通常不是一個可行的選擇。我也使用過XSL-FO(使用NFop及之後的FO.Net--後者更好,因爲更新,它不需要Visual J#),它可以工作,但學習曲線適中。

2

使用Crystal Reports進行打印。最佳選擇IMO

1

我試圖分析文章pdf reports in c#中的可能選項。

  • iTextSharp的 - 做在C#中報告的必要方式,( - )產生不是很可讀的代碼
  • Telerik報告,DevExpress的報表,水晶報表 - 類似的方法,報告主編,非常適合簡單的工作,能夠生產多種格式,( - )更難團隊合併和打印複雜報表
  • phantomjs,wkhtmltopdf - HTML到PDF轉換,( - )額外的依賴
  • jsreport - 我的解決方案,JavaScript的模板引擎組裝HTML報告和phantomjs把它打印成PDF( - )開銷簡單的解決方案,額外的依賴

長話短說。我對目前的選擇並不滿意,並開發了jsreport作爲設計和打印PDF報告的解決方案。檢查一下,它是免費的。

+0

這就是你如何促銷你的產品,對吧? – 2014-04-22 10:28:45

+0

是的,我想展示它作爲替代。我做了這個事實,我很明顯,所以我不認爲它需要一個特殊的聲明。所以我希望它不違反任何SO規則。 – 2014-04-23 07:57:20