2015-06-02 5 views
0

Я попытался напечатать JPanel с этим кодом:как печатать без выбора принтера в Java

try { 
    PrinterJob gap = PrinterJob.getPrinterJob(); 
    gap.setPrintable(this); 
    boolean top = gap.printDialog(); 

    if(top){ 
     gap.print(); 

    } 

} catch (PrinterException ex) { 
    JOptionPane.showMessageDialog(null, " ERROR DEL PROGRAMA", "ERROR \n " + ex , JOptionPane.INFORMATION_MESSAGE); 
} 

, но это появится меню конфигурации для выбора принтера. Я не хочу выбирать принтер, я хочу, чтобы он печатался с принтера по умолчанию или для выбора принтера в коде.

+1

почему вы помечено PHP, MySQL, и JSP? –

ответ

0

Если вы не хотите, чтобы показать диалог печати, то удалить «gap.printDialog()», вам нужно использовать только «gap.print()»

Вы могли бы сделать что-то немного, как это:

PrinterJob gap = PrinterJob.getPrinterJob(); 
PageFormat pf = gap.defaultPage(); 

//Manually assign some of the basic print settings (More advanced things may require you to write your own code) 
gap.setJobName("My Print Jnb"); 

//Set custom page size? 
Paper paper = new Paper(); 
paper.setSize(595, 842); 
pf.setPaper(paper); 

//Set page orientation? 
pf.setOrientation(PageFormat.LANDSCAPE); 

//Create the print job with our manual settings 
gap.setPrintable(this, pf); 

try 
{ 
    //And finally print it out 
    gap.print(); 
} 
catch (PrinterException e) 
{ 
    JOptionPane.showMessageDialog(null, " ERROR DEL PROGRAMA", "ERROR \n " + ex , JOptionPane.INFORMATION_MESSAGE); 
} 

Edit: Если вы хотите выбрать принтер вручную, то обратите внимание на этот вопрос: How do I specify the printer I want to use in Java?

Смежные вопросы