我要求根据用户的选择,通过Web浏览器将文档直接打印到多台打印机 . 用户将在我们的服务上设置不同的打印机,并将选择使用哪种打印机 .
dropship.amazon.in(亚马逊的仓库管理系统)使用此功能 . 他们称之为PackStations
以下是使用packstation的步骤:
-
首先,我们需要为不同的类别保存打印机名称或地址,如标签打印,条形码打印 .
-
单击指定类别前面的start将下载包含以下源的jnlp文件 .
<?xml version='1.0' encoding='UTF-8'?>
<jnlp spec='1.0+' codebase= 'https://dropship.amazon.in:443/DropShipCentral/PrintServer/'>
<information>
<title>VendorFlex Print Server</title>
<vendor>Amazon.com</vendor>
<description>VendorFlex Print Server</description>
<description kind="short">VendorFlexPrintServer</description>
<icon href="AmazonVFPrintServer.jpg" kind="splash"/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+"/>
<jar href="vendorflex-printserver.jar" main="true"/>
<jar href="apache-httpcomponents-httpclient.jar"/>
<jar href="apache-httpcomponents-httpcore.jar"/>
<jar href="jakartacommons-codec.jar"/>
<jar href="jakartacommons-lang.jar"/>
<jar href="jakartacommons-logging-adapters.jar"/>
<jar href="jakartacommons-logging-api.jar"/>
<jar href="apache-commons-io.jar"/>
<jar href="json-org-java.jar"/>
<jar href="vfprintservershared.jar"/>
</resources>
<application-desc main-class="amazon.internal.dropship.printserver.main.PSMain">
<argument>QNAY</argument>
<argument>test</argument>
<argument>https://dropship.amazon.in:443</argument>
</application-desc>
-
执行此文件将显示两个按钮,启动和停止 .
-
启动后,如果我从网络浏览器打印条形码,它将在没有任何提示的情况下通过指定的打印机进行打印 .
现在我有疑虑
-
浏览器如何与AWT应用程序通信?打印命令是否直接发送到AWT应用程序?
-
来自浏览器的打印命令是否首先发送到亚马逊服务器,然后它命令AWT应用程序打印 . 如果是这种情况,服务器如何匹配Web浏览器的用户和AWT应用程序的用户是相同的 .
如果有任何文档可以让我对此有所了解,那将非常有用 .
谢谢