2011-02-24 93 views
1

我在試圖弄清楚如何在服務器端生成一個來自Tomcat(應用程序是Pentaho CE)的javascript-heavy網頁的PDF時出現問題。內容是一個響應用戶交互的儀表板。 Pentaho(應用程序)通過AJAX調用以各種內容動態替換div。我想導出爲pdf,無論用戶擁有儀表板的狀態如何。我可以放在服務器上沒有任何限制,但我需要避免讓客戶端安裝任何東西。從Tomcat服務的網頁生成PDF

我已經採取了看看這個,連同一幫其他的谷歌夫: JSP/HTML Page to PDF conversion

wkhtmltopdf似乎是一個普遍的選擇;在我開始猛撞頭部之前,我有幾個問題:我有幾個問題:

  • wkhtmltopdf是否可以通過密碼保護jsps來處理應用程序處理身份驗證?動態加載的div會破壞它嗎?
  • 有沒有辦法可能返回客戶端視圖到服務器進行處理?我讀了關於屏幕截圖...
  • 另一個可以解決的方法是通過服務器託管的Web瀏覽器自動對服務器上的儀表板進行本地訪問,然後生成PDF ......這是可能的,考慮到由應用程序處理的Tomcat和密碼保護的限制? Pentaho生成的JavaScript組件不能在應用程序之外訪問。

謝謝!

編輯:

好消息! wkhtmltopdf的作品!有點。我通過通過查詢字符串輸入登錄信息來取得密碼認證,現在我得到了正確頁面的pdf。問題是沒有JavaScript組件顯示出來......(它們適用於像yahoo.com這樣的頁面,所以也許我在這裏錯過了一些東西)。

回答

1

如果你有很多的AJAX調用,你應該等待它們。使用--javascript-delay x參數,其中x是等待的時間。

+0

這有助於解決部分渲染圖的問題,但我已經放棄了整個問題。 wkhtmltopdf的webkit中的某些內容在JavaScript加載期間窒息,我無法弄清楚。 – don 2011-03-03 13:08:21