2013-03-15 57 views
1

我正在編寫無聲打印機應用程序。我有一些問題來完成我的申請。使用javax和pdfbox的無聲打印機應用程序

printRequestAttributeSet.add(printerTray); 
    printRequestAttributeSet.add(Sides.ONE_SIDED); 

    PdfReader pdfReader = new PdfReader(); 
    PDDocument document = pdfReader.loadPdf(pdfPath); 

    job.setPageable(document); 
    int firstno = 0; 
    int LastNo = 0; 
    String pageRange[] = style.split("-"); 
    firstno = Integer.parseInt(pageRange[0]); 
    if (pageRange[1].equals("Last")) { 
     LastNo = document.getNumberOfPages(); 
    } else { 
     LastNo = Integer.parseInt(pageRange[1]); 
    } 

    printRequestAttributeSet.add(new PageRanges(firstno, LastNo)); 

    job.printDialog(printRequestAttributeSet); 

    job.print(); 
    // PrintJobWatcher pjDone = new PrintJobWatcher (job); 

    document.close(); 

此代碼工作正常,沒有任何問題。但我想從我的代碼中刪除job.printDialog(printRequestAttributeSet);,因爲它始終需要用戶輸入。有些人給我一些例子,在http://www.java2s.com/Code/JavaAPI。但我不知道如何設置printRequestAttributeSet

+0

夥計!我正在尋找一些幫助解決我的計劃。 – CrazyGuy 2013-03-15 12:05:08

+0

對自己的問題發表評論可能不會影響他們。 – millimoose 2013-05-08 23:03:07

回答

0

根據PrinterJob的Java標準文檔,您可以找到PrinterJob#print(PrintRequestAttributeSet)這個技巧。所以致電

job.print(printRequestAttributeSet);

+0

這不是OP已經有的完全相同的代碼嗎?我沒有看到這對他遇到的任何問題有什麼幫助。 – millimoose 2013-05-08 23:03:58

+0

感謝您發現錯誤,示例與上述解決方案不一致。編輯。 – giampaolo 2013-05-08 23:05:26

相關問題