如何更改文本大小以在热敏打印机上打印

时间:2015-04-13 13:44:46

标签: java printing thermal-printer

我有一个java应用程序,它使用热敏打印来打印文本。我用这台打印机打印了酒吧的订单。 这是票证的一个例子:

 --> BAR
Coca Cola  1 x 1.5
Fanta      1 x 1.5
-------------------
TOTALE     3.00 euro

打印此票证的代码有效。 但我想改变字体大小,因为字体很小。如何更改字体??

这是我用来创建和打印票证的代码:

PrinterBean localPrinterBean = null;
StringBuffer localStringBuffer = null;
HashMap localHashMap=null;
if(emettiScontrinoCartaceo){
    //PER LA STAMPA SCOTRNIO
    localPrinterBean = getPrinterBean();
    localStringBuffer = new StringBuffer();
    localHashMap = null;
    if ((localPrinterBean.isPrn_Enabled()) && (!localPrinterBean.isPrn_Onlyticket()))
    {
        //log.info("" + localPrinterBean.getPrn_driver());
        localHashMap = PrinterManager.loadEscDriver(localPrinterBean);
        //localStringBuffer.append("\n");
        localStringBuffer.append(String.format("\t%s->> %s%s\n", new Object[] { localHashMap.get("size2w"), "BAR", localHashMap.get("size2w-off") }));
        localStringBuffer.append("\n");
    }
    //FINE STAMPA SCOTNRINO     
}

while (it.hasNext()) {
    Map.Entry entry = (Map.Entry)it.next();
    ArticoliScontrini artSco = (ArticoliScontrini) (entry.getValue());
    //devo inserire nella lista le righe di stampa dello scontrino
    //INIZIO STAMPA SCONTRINO
    localStringBuffer.append(String.format("%s\n", new Object[] { artSco.getDescrizioneArticolo() }));
    String quantita = artSco.getQuantita() + " x " +artSco.getPrezzoTotStringFormattato();//toString(artSco.getQuantita(), true);
    localStringBuffer.append(String.format("\t %s", new Object[] { quantita }));
    localStringBuffer.append("\n");
    //FINE STAMPA SCONTRINO

}
localStringBuffer.append("------------------------------------------");
localStringBuffer.append("\n");
String totale = "TOTALE " + decimalFormatter2.format(totaleScontrinoCartaceo) + " euro";
localStringBuffer.append(String.format("%s\n", new Object[] { totale }));

String str = localStringBuffer.toString();
try{
    cbPrintBuffer(localPrinterBean);    
}
catch(Exception e){
    VisualMessageScontrini.getErroreStampaScontrino();
}



public void cbPrintBuffer(PrinterBean paramPrinterBean)
    throws Exception
  {
    /*Object localObject1 = JabirCfg.hexItIfn(paramPrinterBean.getPrn_Hexinit());
    if ((localObject1 != null) && (!((String)localObject1).equals(""))) {
      printRawBytes(paramPrinterBean, ((String)localObject1).getBytes());
    }*/
    Object localObject1 = null;
    if (paramPrinterBean.hasPrn_Bitopt(2))
    {
      localObject1 = new FileOutputStream(paramPrinterBean.getPrn_driver());
      ((FileOutputStream)localObject1).write(cbGetFlow());
      ((FileOutputStream)localObject1).close();
      return;
    }
    localObject1 = PrinterManager.getPrintService_cached(paramPrinterBean);
    if (paramPrinterBean.isPrnGd())
    {
      boolean bool = paramPrinterBean.hasPrn_Bitopt(32);
      PrinterJob localObject2 = PrinterJob.getPrinterJob();
      ((PrinterJob)localObject2).setPrintService((PrintService)localObject1);
      ((PrinterJob)localObject2).setJobName("easy ticket");
      PageFormat localPageFormat = ((PrinterJob)localObject2).defaultPage();
      PrinterExtra.deserialize_pagejson_to_PageFormat(paramPrinterBean.getPrn_pagejson(), localPageFormat);
      Printable localPrintable = null;
      for (int i = 0;; i++)
      {
        if (bool) {
          localPrintable = cbPrintable(i);
        } else {
          localPrintable = cbPrintable(-1);
        }
        if (localPrintable == null) {
          break;
        }
        ((PrinterJob)localObject2).setPrintable(localPrintable, ((PrinterJob)localObject2).validatePage(localPageFormat));
        ((PrinterJob)localObject2).print();
        if (!bool) {
          break;
        }
        String str = JabirCfg.hexItIfn("0x1b 0x6d");
        printRawBytes(paramPrinterBean, str.getBytes());
      }
      return;
    }
    DocPrintJob localDocPrintJob = ((PrintService)localObject1).createPrintJob();
    Object localObject2 = new SimpleDoc(cbGetFlow(), DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
    localDocPrintJob.print((Doc)localObject2, new HashPrintRequestAttributeSet());
  }

0 个答案:

没有答案