使用Java自动打印png文件

时间:2019-12-27 11:31:54

标签: java printing

我正在开发程序,我需要将png的照片自动发送到打印机。有人认识任何书店吗?

1 个答案:

答案 0 :(得分:-1)

enter code here公共类条形码应用{     公共静态无效listarImpresoras(){         PrintService [] printServices = PrintServiceLookup.lookupPrintServices(null,null);         System.out.println(“不可接受的清单”);

    for (PrintService printService : printServices) {
        System.out.println("\t" + printService.getName());
    }
} 
/*private static void imprimir(File codi){
    java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
    if (desktop.isSupported(Desktop.Action.PRINT)){
    try {
    try{
    String nombreImpresora = "\\\\192.168.0.159\\HP LaserJet Professional M1132 MFP"; //dato a modificar segun la impresora
    Process pr = Runtime.getRuntime().exec("Rundll32 printui.dll,PrintUIEntry /y /n \""+nombreImpresora+"\"");
    System.out.println("Imprimiendo");
    }catch(Exception ex){
    System.out.println("Ha ocurrido un error al ejecutar el comando. Error: "+ex);
    }
    desktop.print(codi);
    } catch (Exception e){
    System.out.print("El sistema no permite imprimir usando la clase Desktop");
    e.printStackTrace();
    }
    }else{
    System.out.print("El sistema no permite imprimir usando la clase Desktop");
    }
}*/

public static void main(String [] args){

// Guardar Codigo de barras como imagen

listarImpresoras();
Barcode barcode = null;
String strCode = "5555";
try {
    barcode = BarcodeFactory.createCode128(strCode);//Reemplazar esto por el valor que deseen
} catch (BarcodeException e) {
}
barcode.setDrawingText(true);//determina si se agrega o no el número codificado debajo del código de barras
//tamaño de la barra
   barcode.setBarWidth(2);
   barcode.setBarHeight(60);
try {
//Ruta y nombre del archivo PNG a crear
      String strFileName= "C:\\Users\\Sergi\\Desktop\\controlstock\\barcode\\"+strCode+".PNG";
      File file = new File(strFileName);
      FileOutputStream fos = new FileOutputStream(file);
         BarcodeImageHandler.writePNG(barcode, fos);//formato de ejemplo PNG
         System.out.println("Archivo creado: "+strFileName);
         //imprimir(file);
} catch (Exception ex) {
 System.out.println("Error: "+ ex.getMessage());
}

} }

它只能打印文字文件,我需要我相信PNG的条形码可以在打印机上打印。