2012-03-02 72 views
2

我使用以下代碼在Java 1.5中進行打印,但是將打印作業發送到打印機的時間平均爲35-40秒。它花費在以下行上:printJob.print(attrSet);在Java 1.5中打印,速度慢嗎?

有沒有辦法加快速度?

private void print() { 
    PrintRequestAttributeSet attr; 
    attr = new HashPrintRequestAttributeSet(); 
    attr.add(OrientationRequested.LANDSCAPE); 
    MediaSize mediaSize = 
      MediaSize.getMediaSizeForName(MediaSizeName.NA_LEGAL); 
    float[] size = mediaSize.getSize(MediaSize.INCH); 
    attr.add(new MediaPrintableArea(0, 0, size[0], size[1], 
        MediaPrintableArea.INCH)); 

    PrinterJob printJob = PrinterJob.getPrinterJob(); 
    printJob.setPrintable(this); 
    if (printJob.printDialog()) 
     try { 
      for (Component cmp : componentsToBePrinted) {  
       this.componentToBePrinted = cmp; 
       printJob.print(attrSet); 
      } 
     } catch(PrinterException pe) { 
      System.out.println("Error printing: " + pe); 
     } 
} 
+0

打印一般很慢。就像使用任何系統資源一樣,這可能是阻塞操作。 – cdeszaq 2012-03-02 16:12:17

回答

-1

我有同樣的問題,它不是一般的。與java 1.4中的打印相比,它非常慢。我嘗試使用Java 1.6或1.7,但它沒有幫助。我認爲Java版本> 1.4有緩慢的打印問題。

0

這是打印機驅動程序的問題。將打印機驅動程序從PS調整爲PCL。 這幫助我們在XEROX打印機上打印。 這個速度可達1秒。