Foros del Web » Programación para mayores de 30 ;) » Java »

imprimir en impresora termica

Estas en el tema de imprimir en impresora termica en el foro de Java en Foros del Web. hola, podrían ayudarme, lo que pasa es que quiero imprimir en una impresora termica epson tm-t20, para esto actualmente estoy haciendo los siguiente. 1. creo ...
  #1 (permalink)  
Antiguo 02/12/2015, 13:18
jd7
 
Fecha de Ingreso: mayo-2013
Mensajes: 11
Antigüedad: 10 años, 10 meses
Puntos: 0
Información imprimir en impresora termica

hola, podrían ayudarme,
lo que pasa es que quiero imprimir en una impresora termica epson tm-t20,
para esto actualmente estoy haciendo los siguiente.
1. creo el reporte de factura y los guardo en como documento .pdf
2. accedo al archivo pdf y lo envió a la impresora para su impresión

lo que pasa es que al imprimir la factura, no me re dimensiona el alto del archivo y en cambio este se imprime mas pequeño, continuación dejo el código que actualmente estoy usando,

pregunta:
¿como configuro la impresión para que el largo del papel varié según el tamaño de la factura?

Código:
        
String filePath = "./Facturas/factura_N°_" + numero + ".pdf";
FileInputStream fileInputStream = new FileInputStream(filePath);
byte[] pdfContent = new byte[fileInputStream.available()];
fileInputStream.read(pdfContent, 0, fileInputStream.available());
ByteBuffer buffer = ByteBuffer.wrap(pdfContent);
fileInputStream.close();

final PDFFile pdfFile = new PDFFile(buffer);

PDFPrintPage pages = new PDFPrintPage(pdfFile);
PrinterJob printJob = PrinterJob.getPrinterJob();

PageFormat pageFormat = PrinterJob.getPrinterJob().defaultPage();
printJob.setJobName("");
            
Book book = new Book();
book.append(pages, pageFormat, pdfFile.getNumPages());
printJob.setPageable(book);

Paper paper = new Paper();
paper.setSize(pagesise.getWidth() , pagesise.getHeight());
paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight());
pagesize.getHeight());
paper.getHeight());

pageFormat.setPaper(paper);

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(OrientationRequested.LANDSCAPE);
attributes.add(new MediaPrintableArea(0, 0,(int)paper.getWidth(), (int)paper.getHeight(),MediaPrintableArea.INCH));
            
printJob.print(attributes);

Etiquetas: pdf, printjob, termica
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.