2017-02-02 28 views
0

我有一個應用程序生成一個HTML頁面,其中包含用戶可以編輯的數據。 最後我用jsPDF生成一個.pdf文件。 有沒有什麼辦法可以在我的服務器端數據庫上保存這個生成的.pdf?使用jsPDF在服務器端保存pdf

我正在使用PrimeFaces。

在此先感謝

+0

這個問題不是JavaScript,不是java-se,不是html,也不是PrimeFaces相關的。你在哪裏產生pdf?客戶端?你可以將它存儲在輸入元素中嗎?然後這個問題歸結爲獲取輸入元素的值到服務器。請把你的問題分解成實際可以解決的問題。現在,它是廣泛和不明確的方式 – Kukeltje

+0

你的意思是你想上傳你的文件在一些存儲庫來保存它?!?確實有點不清楚。 –

+0

對不起,不清楚,是的,我在客戶端生成pdf。重點在於,在此HTML表格中,用戶能夠鍵入文本並更改數據庫中應用程序獲取的某些數據。 我想保存由jsPDF庫生成的.pdf。 – jlwollinger

回答

1

更新我的其他用戶的解決方案:

我發現它返回我BASE64字符串的jsPDF的.output('datauristring')方法。

然後,字符串通過JSON發送到我的備份bean並按照我的意願轉換。

+0

看,如果你打破了這個問題,它歸結爲你發現了什麼。向這個方向提問可能會更容易,例如:我怎樣才能得到字符串中jsPDF的輸出? – Kukeltje

+0

準確地說,經驗教訓。謝謝Kukeltje先生 – jlwollinger

0

我建議使用wkhtmltopdf

這是一個開源的跨平臺命令行工具,用於從html內容生成pdf文件。

因此,根據您的要求,您可以做的是,您需要將html內容發送到服務器並將此內容保存到html文件中。

將html內容保存到html後,您可以像在java中執行MS-DOS命令一樣調用wkhtmltopdf。

例子:new ProcessBuilder("wkhtmltopdf.exe", htmlFilePath, pdfFilePath);

一旦生成PDF文件,您可以讀取和存儲到數據庫中。

+0

用戶已經在使用jspdf了......如果要做java並且你想要推薦一些不同的東西,我會建議https://github.com/flyingsaucerproject更好的集成 – Kukeltje

+0

謝謝Kukeltje先生和Ravi MCA先生 – jlwollinger

1

謝謝大家的幫助!我找到了我的解決方案:

一旦用戶按下按鈕生成.pdf,我將保存他填入數據庫的所有數據,只是數據。

當用戶想要查看他生成的pdf時,我會用第一次提交時收集的數據生成一個新的。

謝謝大家的回答,他們很有幫助。

+0

這是不是問題的「答案」。你用完全不同的方式解決了它。但請記住,如果PDF需要某種「證明」,這種「解決方法」可能不是正確的解決方案! – Kukeltje

+0

我知道這不是正確的解決方案,Kukeltje,但我的最後期限即將到來,我必須前進。 變通辦法最終總會遇到問題,但我必須暫時跳過它。 謝謝您的關注Kukeltje先生,我真的很感激它 – jlwollinger