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

在java web应用程序中如何从客户端打印服务器文件,java,servlets,jakarta-ee,Java,Servlets,Jakarta Ee,在JavaWeb应用程序中,需要从服务器选择文件并打印到本地打印机。如何做到这一点 提前感谢您需要一个小程序,闪存,silverlight,javafx-即嵌入式应用程序。在那里: 通过创建GET请求(在小程序中-使用URL.openConnection()),获取返回的字节并形成内存中的文档,从服务器下载文件 将其发送到打印机。如果选择小程序- (我不知道javascript是否也能实现同样的流程)您需要一个小程序,闪存,silverlight,javafx-即嵌入式应用程序。在那里:

在JavaWeb应用程序中,需要从服务器选择文件并打印到本地打印机。如何做到这一点


提前感谢

您需要一个
小程序
闪存
silverlight
javafx
-即嵌入式应用程序。在那里:

  • 通过创建GET请求(在小程序中-使用
    URL.openConnection()
    ),获取返回的字节并形成内存中的文档,从服务器下载文件
  • 将其发送到打印机。如果选择小程序-

(我不知道javascript是否也能实现同样的流程)

您需要一个
小程序
闪存
silverlight
javafx
-即嵌入式应用程序。在那里:

  • 通过创建GET请求(在小程序中-使用
    URL.openConnection()
    ),获取返回的字节并形成内存中的文档,从服务器下载文件
  • 将其发送到打印机。如果选择小程序-

(我不知道是否同样的流程也可以用javascript实现)

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

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

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

但是如果它是例如纯
文本
文件,例如
文本/html
文本/xml
,等等,那么您可以使用Javascript将文件加载到一些
元素中,然后对其执行
window.print()
方法,如果有必要,还需要一个。

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

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

File file = new File("/temp/file.doc");
// Read file from server using URLConnection, write it to this file and then do:
Desktop.print(file);
但是如果它是例如纯
文本
文件,如
文本/html
文本/xml
,等等,那么您可以使用Javascript将文件加载到一些
元素中,然后在其上执行
window.print()
方法,如果需要,还可以使用