如何在不选择java打印机的情况下打印
我试图用以下代码打印JPanel:如何在不选择java打印机的情况下打印,java,Java,我试图用以下代码打印JPanel: try { PrinterJob gap = PrinterJob.getPrinterJob(); gap.setPrintable(this); boolean top = gap.printDialog(); if(top){ gap.print(); } } catch (PrinterException ex) { JOptionPane.showMessageDialog(nul
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);
}
但是,选择打印机时会出现配置菜单。我不希望选择打印机,我希望它是从默认打印机打印的,或者在代码中选择打印机。如果您不想显示打印对话框,请删除“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);
}
编辑:如果要手动选择打印机,请查看以下问题:
为什么要标记php、mysql和jsp?