我的要求是强制系统打开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. Swift:下载并打开pdf文件
- 2. 打开存储在Firebase存储中的pdf文件url
- 3. 有没有可能在webview中打开sdcard/cache中的pdf文件存储?
- 4. 保存后自动打开pdf文件
- 5. 从HTML5打开PDF存储
- 6. 从驱动器下载文件
- 7. 驱动器api错误下载文件
- 8. Android - 下载和打开PDF
- 9. Azure的Blob存储下载文件,而不是在浏览器中打开
- 10. 下载并打开文件到外部存储android
- 11. 如何打开存储在SQLite文件中的PDF/xml?
- 12. 如何保存/下载pdf嵌入在网页中没有pdf文件名
- 13. 在Xamarin Android应用程序中下载并打开PDF文件?
- 14. 下载打开的文件
- 15. 打开/保存文件下载不在IE 6中打开文件
- 16. 从Laravel的存储器下载文件
- 17. 打开pdf文件
- 18. 存储PDF到谷歌驱动
- 19. 下载和存储文件
- 20. 在Firefox中自动下载pdf文件
- 21. C#从ajax驱动的url下载pdf
- 22. 强制浏览器下载PDF文档而不是打开它
- 23. 如何禁用文件下载的自动打开/保存
- 24. 如何在pdf文件中打开pdf到pdf查看器
- 25. 如何在下载前强制打开文件浏览器来保存文件?
- 26. 存储PDF文件
- 27. 打开并显示本地存储的pdf文件
- 28. Android:我无法从存储打开PDF文件
- 29. 如何强制下载存储在服务器上的pdf文件?
- 30. Android的下载管理器说无法打开文件下载
这在服务器端是微不足道的,但是我们在谈论什么类型的客户端? 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