我的任務是創建一個集中的服務器(或者尋求一些已經工作的),這個服務器具有能夠返回傳遞一些數據的PDF文件的API以及模板名稱成爲一個強大的解決方案,企業就緒。目標如下:PDF創建服務器
- 一系列用於不同公司事物的模板。 (發票,訂單,訂單計劃等)
- 從外部軟件(網站,ERP等)返回PDF的方法
- 可以是已經準備好的企業解決方案,但他們正在按自定義的一個。
- 可以是任何語言,但我們沒有任何專用的Java程序員。我們是PHP/.NET,我們中的一些人涉足,但學習曲線可能有點陡峭。
所以,我一直在閱讀。我們認爲可能的一種方式是安裝jasper reports服務器,並在Jaspersoft Studio中創建模板,然後使用API返回PDF文件。一個同事代表這個選項,因爲它大部分都是完成的,但1º是java和2º,我認爲這就像使用錘子來打破堅果。
我們一直在嘗試的其他選擇是使用C#與iTextSharp創建一個服務器,並創建我們自己的API,以便根據我們需要的數據準確返回PDF。這樣做,我們可以獲得一些好處,比如使用我們已經完成的數據庫連接器,並從數據庫中提取大部分數據,而不必傳輸大量數據,但由於它是光禿禿的,真的有一個模板系統。我們可以用XMLWorker或c#類創建一些東西,但它不像拖放那樣「容易」。對於這種情況,我也一直在閱讀關於XFA的文章,但iText網站上的文檔有誤導性,並且不清楚。
我一直也閱讀一些其他的替代品,如PrinceXML,PDFBox的,FOP等,但概念是相同的iText的,我們不得不自己動手。
我的投票,即使更多的工作是去iText的路線,並使用HTML/CSS的模板,但我的同事聲稱,模板應該能夠每隔一週更改一次(我懷疑它),並且很容易。 HTML/CSS將會工作太多。
所以真正的問題是,其他業務如何處理?我在搜索時留下了什麼?有沒有更簡單的方法來實現這一目標? PS:我不知道SO是否是這個問題的正確位置,但我主要是迷路了,冒着「太廣泛的問題」或「脫離主題」標籤冒險似乎並不是那麼糟糕。
EDIT:
- 輸入應具有相同的請求被髮送。如果我們決定C#路線,我們可以直接從ERP獲得約70%的數據,但無論如何,它應該接受帶有一些數據(模板和該模板所需的模板和數據,如發票數據或發票ID,如果我們有權訪問ERP)。
- 輸出應該是PDF(對其他格式不感興趣,只是PDF)。
- 模板將被更新只有由IT。 (主要是我們,開發團隊)。性能方面,我不知道我們需要多少肌肉,但是現在,沒有任何增加,我們每天約看500/1000份PDF,大多數是從10到10.30和12到13小時打印的。那麼今天剩下的時間可能會多達100次。
- 當行星對齊時,TOP性能不應該超過每天10000個,並且是銷售季節(每年兩次)。這應該是我們今後幾年的最高限額。
模板有一些要求:
- 有無重複塊(發票行,例如)。
- 將圖像作爲背景,作爲水印和塊。
- 必須是多語言(可翻譯,具有相同的數據)。
- 有一些只顯示條件的塊。
- 塊取決於在頁面上(PDF頁眉/頁的頁眉/頁腳/ PDF頁腳)
- 模板將也許有過一些數據做計算,我不認爲我們會永遠需要這個,但公司可能會提出這個問題。
PDF不需要存儲,因爲我們有一個文檔管理系統,也許將來我們可以鏈接它們。
額外的數據:現在我們使用的是「快速報告V2 VCL」
* iText網站上的文檔有誤導性和不明確* - 沒有引用的索賠不是很公平。 – mkl
對不起,我沒有解釋我自己,我不是說文檔不清楚,我會編輯它,我的意思是我去了http://developers.itextpdf。只能找到參考文獻和實例,而不是文檔*本身*,我無法真正評估該產品是否符合我的需求,不容易理解XFA,模板功能或什麼是或不是。我必須從itext站點讀取它。我最清楚的是我和我對文檔的期望。 – TJSoler