2009-12-23 59 views
5

當談到報告時,您如何將開發過程中的痛苦降至最低?儘量減少實施可打印報告的難度

對於web框架,有一個非常簡單的方式來生成內容以及圖形設計;內容通過HTML語義表示,並且通過CSS單獨指定設計。瀏覽器與它們呈現輸出的方式相當一致(並且這些不一致是衆所周知的並且可以計劃)。甚至還有所見即所得的編輯器來幫助少用CSS的圖形設計師。

但我們如何處理打印內容?

在一家公司,我創建了一個像這樣工作的流程:腳本通過XML生成語義表示。 XML通過XSLT傳遞以生成XML-FO文檔。然後,這被傳遞給另一個工具(Apache FOP,我相信)來生成一個PDF。這對那家公司非常有效。

然而,在這家公司,輸出外觀對管理很重要,我們有一個圖形設計師。目前,我們正在使用報表工具(Developer Express中的XtraReports,版本8.1)。這並不壞;它輸出到各種格式,有一個所見即所得的設計器,報告是通過C#類實現的,它支持數據綁定到數據集(不幸的是,不是POCO的)。但是,我們有這個設置一些主要痛點:

  • 報告框架有關於如何佈局和分組報表帶
  • 像樣的元素,尤其是圖表的主要限制,缺乏我們所需要的功能,微調並實現我們的模型的外觀。
  • 沒有什麼好方法可以在報告之間共享樣式和佈局,類似於我們可以通過CSS獲得的樣式和佈局。
  • 可重複使用部件的良好可組合性很難實現。所以我們最終得到了很多拷貝&粘貼功能的繼承;無論何時我們需要對所有報告進行徹底更改,這都是一個壞消息。

現在,也許有一些kick-ass框架可以消除報告框架的痛苦,但我認爲它們都有其弱點。你有一個適合你的框架或過程,並減少報告中固有的痛點嗎?

回答

1

Prince XML是一個非常酷的工具,它允許您使用HTML或XML樣式的CSS(包括CSS paged media進行打印)並從中生成PDF。

+0

我的天啊,那看起來很完美。我必須試驗一下。你個人使用過這個產品嗎?如果是這樣的話,如果你詳細說明你的使用體驗,那就太好了。 – Jacob 2009-12-23 01:04:22

+0

我用於一個非常大的項目,並有很好的經驗。您可以創建任何您喜歡的HTML/CSS,並製作PDF。支持CSS以及我用過的任何瀏覽器。該文檔有關於它如何支持分頁媒體的一些很好的信息:http://princexml.com/doc/7.0/ – Annie 2009-12-23 01:16:24

+0

Dang,3800美元的網站許可證。如果它可以加快我們的開發過程,可能值得,但是唷! – Jacob 2009-12-23 01:23:59

1

選項1:Adobe Acrobat非常好。您可以設計啓用PDF的表單,然後使用類似PDFSharp的東西來操作PDF文檔。您可以創建將您生成的內容轉儲到的模板PDF。我之前做過這件事,並且非常成功。我也很好地使用了POCO對象。

選項2:您可以開始創建基於XML的XPS文檔。如果有必要,他們可以很容易地轉換爲PDF。

選項#3:爲您的生活運行(可能不是一個選項)

+0

選項3似乎是最明智的選擇。不過,我也喜歡選項#1;但是,我不確定如何修改PDF以有效地將其用作模板。如果這是通常做的事情,你能詳細說明一下嗎?或者提供一篇好文章的鏈接? – Jacob 2009-12-23 01:10:18

0

i-net Clear Reports是一個很好的產品。它基於Java,但您也可以使用ASP.NET。有一座橋。如果你想使用POCO,.NET版本就可以工作。因爲Java版本可以與POJO一起工作,即將到來的.NET版本也可以與POCO一起使用。