2012-04-11 69 views
0

我需要最終以PDF格式生成多頁報告文檔,其中主要包括圖表和表格以及來自存儲在數據庫中的數據的一些文本。目前我們通過將數據拉入使用生成PDF文檔的VBA代碼的Excel模板來實現此目的。這遠非理想,但它有優勢,如果需要可以手動調整格式。我正在尋找一種可以更直接生成文檔的方法。一種可能性是首先生成HTML並將其轉換爲pdf,其優點是html版本也可用。然而,它已經完成了,我需要相當好地控制外觀&感覺儘可能接近現有的格式, ,我希望工具生成圖表&表格,而不是從頭開始構建這些表格。生成基於圖表和表格的報表文檔有哪些選項?

最終文檔由幾個頁面組成,以及能夠控制組件圖表的外觀,我想要控制整個文檔佈局,比如頁面中斷的位置,縮放比例圖表&圖表,插入標題,文本段落,腳註等

我更喜歡基於.net的解決方案,但也會考慮java並且對開源和商業軟件包均開放。我注意到像DevExpress,SyncFusion和Telerik這樣的公司都有圖表庫,因此會對其他人的經驗感興趣。

回答

0

最後,我決定在WPF中構建報告,並使用WPF打印功能轉到PDF,或者使用PDF打印驅動程序轉到XPS然後轉到PDF。最後,這實際上是一個關於如何生成可打印文檔並對格式進行精細控制的問題。這可以通過在FixedDocuemnt對象上構建頁面在WPF中完成。這些元素將是TextBlocks和第三方圖表組件之類的東西。這些表格也可以是第三方組件,但是從WPF自定義控件開始編寫代碼很容易。

0

如果您更願意在html中呈現您的內容,然後將其轉換爲pdf,則有一個很好的命令行工具「wkhtmltopdf」,它使用webkit引擎。這個有一些限制,當我嘗試這樣做時,它無法將flash對象從html轉換爲pdf(現在​​可能會被修復)。如果您可以使用html5和javascript呈現圖表,這是一個完美的工具。

0

我一直在使用jasperreports一段時間,它可以做你需要的一切。 您可以在Ireport中創建包含圖形的報告,然後使用java類將報告輸出到pdf/html/xls(x)/ doc(x)/ flash/ODS/ODT
學習需要一些時間,但它的a真正的強大包

+0

這看起來很有趣。我還需要控制生成文檔的整體佈局(我已更新了該問題)。這是一些jasperreports可以做的嗎? – Shane 2012-04-14 01:12:49

+0

使用Ireport(jasperreports WYSIWYG)編輯器,您可以完全控制佈局,分頁符,使用在代碼生成過程中評估的Java代碼的條件格式 – Sibster 2012-04-14 05:31:06