我的要求是強制系統打開PDF文件,而無需存儲在服務器或客戶端系統。我正在使用java,jsf,iText。但到目前爲止我還沒有成功。任何幫助?打開PDF文件下載沒有存儲在驅動器
-1
A
回答
0
這個問題已經回答了前一天在這裏:How to convert pdfstamper to byte array
我沒有標記爲重複你的問題,因爲你的問題,這個問題似乎一見鍾情不同,但回答這兩個問題是相同的:
例如,參見FormServlet例子,它說:
// We create an OutputStream for the new PDF
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Now we create the PDF
PdfStamper stamper = new PdfStamper(reader, baos);
然後在後面的例子中,我們這樣做:
// We write the PDF bytes to the OutputStream
OutputStream os = response.getOutputStream();
baos.writeTo(os);
正如你可以看到:我們不存儲使用FileOutputStream
(沒有文件被存儲在服務器上)的PDF,但我們使用ByteArrayOutputStream
文件存儲在內存中。然後我們將這些字節寫入響應對象的OutputStream
。
這個例子是從一本書中還包含一個JSP示例獲取的:http://itextpdf.com:8180/book/helloworld.jsp
然而,書中列舉的原因有相當數量爲什麼它是一個糟糕的主意,用JSP創建PDF。作爲一名JSP開發人員,您知道JSP永遠不應該用於以二進制格式創建文件。 PDF是二進制文件,因此:您應該編寫一個Servlet來創建PDF,而不是JSP文件。
相關問題
- 1. 從內部存儲的下載文件夾中打開下載的文件(pdf)
- 2. 使用vbscript在網絡驅動器上打開pdf文件
- 3. 無法打開下載的PDF文件
- 4. 下載pdf文件並打開
- 5. Swift:下載並打開pdf文件
- 6. 打開存儲在Firebase存儲中的pdf文件url
- 7. 有沒有可能在webview中打開sdcard/cache中的pdf文件存儲?
- 8. 打開下載的文件在瀏覽器中的pdf格式
- 9. 函數打開.pdf文件沒有打開文件
- 10. 保存後自動打開pdf文件
- 11. PDF文件開始下載
- 12. 存儲在文件目錄下載的PDF文件,並檢索
- 13. 從HTML5打開PDF存儲
- 14. 從驅動器下載文件
- 15. 谷歌驅動器文件下載
- 16. 驅動器api錯誤下載文件
- 17. 從谷歌驅動器下載文件
- 18. Android - 下載和打開PDF
- 19. Elfinder打開PDF下載而
- 20. Azure的Blob存儲下載文件,而不是在瀏覽器中打開
- 21. 如何在不打開瀏覽器的情況下下載pdf文件
- 22. 下載並打開文件到外部存儲android
- 23. 下載公開谷歌驅動器文件
- 24. 如何打開存儲在SQLite文件中的PDF/xml?
- 25. 打開存儲在SD卡上的大加密的pdf文件
- 26. 如何打開存儲在getFilesDir()PDF文件的getPath()路徑
- 27. 下載後自動打開JavaScript文件
- 28. 如何保存/下載pdf嵌入在網頁中沒有pdf文件名
- 29. 在Xamarin Android應用程序中下載並打開PDF文件?
- 30. 如何使用Java/FTP在Windows上下載/打開PDF文件?
這在服務器端是微不足道的,但是我們在談論什麼類型的客戶端? Web瀏覽器及其插入的PDF查看器?你幾乎不能阻止他們在某處存儲臨時副本。 – mkl 2014-10-16 12:31:33
服務器端,您可以在流中創建PDF文件(即,不會將PDF文件存儲在服務器的文件系統中)。但是,除非您設置了某個DRM系統,否則該文件必須下載到客戶端才能被查看(即使它被下載到臨時文件夾中,它仍會位於客戶端的文件系統中)。 – 2014-10-16 12:31:33
需要打開pdf文件瀏覽器或acrobat閱讀器。不保存在服務器中或使用預定義的文件路徑。 – Skyfall 2014-10-16 12:47:23