2012-01-19 34 views
4

Java印刷サービスに問題があります。私は、単純なテキスト文書をデフォルトのプリンタに印刷する必要があります。私はWindowsマシン上のプリンタとしてHP Deskjetを使用します。すべてのドライバはインストールされています。これは私が使用したソースコードである:印刷ジョブはプリンタに送信されましたが、何も印刷されませんでした。 Java

import java.io.*; 
import javax.print.*; 

public class PrintTest { 
public static void main(String[] args) throws IOException { 
    File file = new File("print.txt"); 
    InputStream is = new BufferedInputStream(new FileInputStream(file)); 

    //Discover the default print service. 
    PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 

    //Doc flavor specifies the output format of the file. 
    DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; 


    // Create the print job 
    DocPrintJob job = service.createPrintJob(); 
    //Create the Doc 
    Doc doc = new SimpleDoc(is, flavor, null); 

    //Order to print 
    try { 
    job.print(doc, null); 
    } catch (PrintException e) { 
    e.printStackTrace(); 
    } 

    is.close(); 
    System.out.println("Printing done...."); 
} 

} 

私はそのなくなって前にいくつかのmilisecond用プリンタキューに印刷ジョブを見ることができます。しかし何も印刷されません。 JDK 1.6のJava Print Serviceはまだバグが多いと聞いています。しかし、私は完全にはわかりません。なぜどんなアイデア?

+0

解決策が見つかった場合は教えてください。私は同じ問題に直面しています。あなたの応答をここに与える(http://stackoverflow.com/questions/15810865/print-current-html-page-on-printer-from-java-bean-in-jsf) –

答えて

0

私はそれが非常に遅い答えだと知っていますが、私はPDF(テキストではありません)とWindowsで同じ問題を抱えていました。プリンタはネイティブPDFを扱うことができない可能性があるため、ジョブは受け入れられますが、何も起こりません(エラーもありません)。私はサードパーティ製のライブラリ、Apache PdfBoxを使用してこれを解決し、それは魅力的なように働いた。

私は同様の質問https://stackoverflow.com/a/39271053/935039に答えることによっていくつかのコード例を書いた。

関連する問題