使用JAVA AWT / jnlp从Web浏览器通过指定的打印机进行打印

时间:2017-01-19 06:45:36

标签: java printing applet awt jnlp

我需要根据用户的选择,通过网络浏览器将文档直接打印到多台打印机。用户将在我们的服务上设置不同的打印机,并选择使用哪种打印机。

dropship.amazon.in(亚马逊的仓库管理系统)使用此功能。他们称之为PackStations

以下是使用packstation的步骤:

  1. 首先,我们需要为不同类别保存打印机名称或地址,如标签打印,条形码打印。

  2. 点击指定类别前面的“开始”将下载包含以下来源的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>
    

  3. 执行此文件将显示两个按钮,即开始和停止。

  4. 启动后如果我从网络浏览器打印条形码,它将在没有任何提示的情况下通过指定的打印机进行打印。
  5. 现在我有以下怀疑

    1. 浏览器如何与AWT应用程序通信?打印命令是否直接发送到AWT应用程序?

    2. 来自浏览器的打印命令是否首先发送到亚马逊服务器然后它命令AWT应用程序打印。如果是这种情况,服务器如何匹配Web浏览器的用户和AWT应用程序的用户是相同的。

    3. 如果有任何文件可以让我对此有所了解,那将非常有用。

      由于

0 个答案:

没有答案