java - 在java web应用程序中如何从客户端打印服务器文件

标签 java servlets jakarta-ee

在 java web 应用程序中需要从服务器选择文件并打印到本地打印机。怎么做到的

提前致谢

最佳答案

只要您需要最少的用户交互(即只需单击链接然后执行打印魔术),这就会很棘手,而且这还取决于相关文件的类型。例如,如果它是 .doc文件,那么您基本上需要将其下载到客户端环境并在默认的关联应用程序(在本例中为 MS Word)中打开它,然后让该应用程序执行打印命令。您不能从服务器端执行此操作。

最好的办法是创建一个 Applet依次显示文件树,在客户端交互时将文件下载到本地磁盘文件系统并使用 Desktop#print() 打印它。例如

File file = new File("/temp/file.doc");
// Read file from server using URLConnection, write it to this file and then do:
Desktop.print(file);

但是如果它是普通的 text text/html 等文件, text/xml等等,然后你可以使用 Javascript 将文件加载到一些 <div> 中或 <iframe>元素,然后执行 window.print()方法,如有必要,连同 CSS media rule .

关于java - 在java web应用程序中如何从客户端打印服务器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504283/

相关文章:

java - 如何在 Java Applet 中注册 JavaScript 回调?

java - 需要采用正确的方法来更新传入 servlet 的数据

java - 附加的 http header 不起作用

java - 将 8 个字节的小端二进制转换为 double float

java - Android 开发需要哪个版本的 JDK? (命令行工具)

javax.命名.NameNotFoundException | JNDI 查询

java - 我的 .jsp AJAX 调用从我的 Servlet Controller 返回代码而不是执行它

spring - Java 执行上下文类解释

java - Java中的应用程序服务器和Web服务器有什么区别?

java - 线程中的异常 "main"java.lang.IllegalStateException :The path to the driver executable must be set by the : system property