10

ネットワーク接続された PS プリンターに直接送信したい Postscript コード/データ (?) をメモリ (Java Tomcat webapp 内) に持っています。これを印刷する簡単な方法 (つまり、ポートを開いてテキストを送信するだけ) はありますか? これを行う方法を示すコード例へのリンク?

ありがとう、デイブ

4

4 に答える 4

8

ターゲット プリンタの LPR ポートへの TCP ソケットを開きます。

あなたのデータを送信します。プリンターがそれを理解している限り、問題ありません。

完了したら改行を忘れないでください。

(その後、ポートを閉じます。)

于 2008-11-26T01:16:16.980 に答える
2

ポート 9100 のネットワーク プリンターに直接送信できます。

http://frank.zinepal.com/printing-directly-to-a-network-printer

問題は、ほとんどのレーザー プリンターが PostScript をサポートしていないことです。通常、そのためのプリンターアドオンを取得する必要があります。

于 2011-01-27T20:59:59.233 に答える
0

java.awt.printをチェックしてください。これは、Javaの汎用印刷APIです。

残念ながら、それはあなたがすでに持っているポストスクリプトコンテンツを扱うことを目的としていません。これは、Java2DグラフィックスAPIを使用して紙に「描画」できるように設計されています。

于 2008-11-25T23:39:21.763 に答える
0

余分なライブラリなしでできるかどうかはわかりません。

このでは、ファイルをネットワーク プリンターに送信する方法を示しますが、adobe ライブラリが必要です (ただし、商用の J2EE Livecycle ESに基づいているため、一般的な「無料」ソリューションではありません...)。

import com.adobe.livecycle.output.client.*;
import java.util.*;    
import java.io.File;    
import java.io.FileInputStream;    
import com.adobe.idp.Document;    
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;

public class SendToPrinter {

    public static void main(String[] args) {
        try{
            //Set LiveCycle ES service connection properties                            
            Properties ConnectionProps = new Properties();
            ConnectionProps.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "jnp://localhost:1099");
            ConnectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","EJB");          
            ConnectionProps.setProperty("DSC_SERVER_TYPE", "JBoss");
            ConnectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
            ConnectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");
            //Create a ServiceClientFactory object
            ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);
            //Create an OutputClient object
            OutputClient outClient = new OutputClient(myFactory); 
            //Reference XML data that represents form data
            FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\\Loan_data.xml"); 
            Document inputXML = new Document(fileInputStream);
            //Set print run-time options
            PrintedOutputOptionsSpec printOptions = new PrintedOutputOptionsSpec(); 
            printOptions.setPrinterURI("\\\\Printer1\\Printer");
            printOptions.setCopies(2);

            //Send a PostScript print stream to printer
            OutputResult outputDocument = outClient.generatePrintedOutput(
                    PrintFormat.PostScript,
                    "Loan.xdp",
                    "C:\\Adobe",
                    "C:\\Adobe",
                    printOptions,
                    inputXML); 

            //Write the results of the operation to OutputLog.xml
            Document resultData = outputDocument.getStatusDoc();
            File myFile = new File("C:\\Adobe\\OutputLog.xml");
            resultData.copyToFile(myFile);
        }
        catch (Exception ee)
        {
            ee.printStackTrace();
        }
    }
}
于 2008-11-24T19:53:34.683 に答える