コード例 #1
0
        static private bool Print(PackageComponent printComponents, string guid)
        {
            if (!IsPrintOK())
            {
                return(false);
            }

            //nugget: sending raw ESCape codes to dot matrix printer (Epson's "ESC/P" standard)
            //nugget: ESC/P reference manual: http://files.support.epson.com/pdf/general/escp2ref.pdf
            //ESC @   = reset
            //ESC 3 n = n/216" line spacing
            //ESC M   = 12 cpi
            //ESC x n = quality: 0 = Draft, 1 = NLQ
            //ESC k n = font: 0 = Roman, 1 = Sans serif font
            //ESC p 0 = turn off proportional
            //ESC 2   = 1/6" line spacing = 0.166666666666666

// ReSharper disable InconsistentNaming
            using (var TaxForm_print = new Proc("TaxForm_print"))
// ReSharper restore InconsistentNaming
            {
                TaxForm_print["@TaxFormGUID"]    = guid; //for testprint, pass Guid.Empty i.e. '00000000-0000-0000-0000-000000000000'
                TaxForm_print["@PrintComponent"] = (int)printComponents;

                TaxForm_print.ExecuteDataSet();

                var poPrinter = new RawPrinterJob(
                    SettingsModel.Global["FormPrinterInitCodes"],
                    Convert.ToInt16(SettingsModel.Global["FormPrinterWidth"]),
                    Convert.ToInt16(SettingsModel.Global["FormPrinterHeight"]));

                var abwPrinter = poPrinter.Clone(); //saves the wasted effort of repopulating another blank page

                if (PrintFields(poPrinter, TaxForm_print.DataSet.Tables[0].Rows))
                {
                    if (guid == Guid.Empty.ToString())
                    {
                        poPrinter.PrintTestRulers();
                    }
                    poPrinter.SendToPrinter(SettingsModel.Local["POPrinter"]);
                }

                if (PrintFields(abwPrinter, TaxForm_print.DataSet.Tables[1].Rows))
                {
                    if (guid == Guid.Empty.ToString())
                    {
                        abwPrinter.PrintTestRulers();
                    }
                    abwPrinter.SendToPrinter(SettingsModel.Local["AbwPrinter"]);
                }

                CacheTables(TaxForm_print, "TaxForm"); //sync the updated PrintDate columns in the TableCache
            }
            return(true);
        }
コード例 #2
0
        static private bool PrintFields(RawPrinterJob printer, DataRowCollection rows)
        {
            if (rows.Count == 0)
            {
                return(false);
            }

            foreach (DataRow r in rows)
            {
                printer.PrintStringAtPos(r["Data"].ToString(), (int)r["page"], (int)r["col"], (int)r["row"], (int)r["MaxLength"], (int)r["MaxRows"]);
            }
            return(true);
        }
コード例 #3
0
ファイル: TaxFormModel.cs プロジェクト: dggowda047/itraacv2-1
 static private bool PrintFields(RawPrinterJob printer, DataRowCollection rows)
 {
   if (rows.Count == 0) return (false);
   
   foreach (DataRow r in rows)
   {
     printer.PrintStringAtPos(r["Data"].ToString(), (int)r["page"], (int)r["col"], (int)r["row"], (int)r["MaxLength"], (int)r["MaxRows"]);
   }
   return (true);
 }
コード例 #4
0
ファイル: TaxFormModel.cs プロジェクト: dggowda047/itraacv2-1
    static private bool Print(PackageComponent printComponents, string guid)
    {
      if (!IsPrintOK()) return(false);

      //nugget: sending raw ESCape codes to dot matrix printer (Epson's "ESC/P" standard)
      //nugget: ESC/P reference manual: http://files.support.epson.com/pdf/general/escp2ref.pdf
      //ESC @   = reset
      //ESC 3 n = n/216" line spacing
      //ESC M   = 12 cpi
      //ESC x n = quality: 0 = Draft, 1 = NLQ
      //ESC k n = font: 0 = Roman, 1 = Sans serif font
      //ESC p 0 = turn off proportional
      //ESC 2   = 1/6" line spacing = 0.166666666666666

// ReSharper disable InconsistentNaming
      using (var TaxForm_print = new Proc("TaxForm_print"))
// ReSharper restore InconsistentNaming
      {
        TaxForm_print["@TaxFormGUID"] = guid; //for testprint, pass Guid.Empty i.e. '00000000-0000-0000-0000-000000000000'
        TaxForm_print["@PrintComponent"] = (int)printComponents;

        TaxForm_print.ExecuteDataSet();

        var poPrinter = new RawPrinterJob(
          SettingsModel.Global["FormPrinterInitCodes"],
          Convert.ToInt16(SettingsModel.Global["FormPrinterWidth"]),
          Convert.ToInt16(SettingsModel.Global["FormPrinterHeight"]));

        var abwPrinter = poPrinter.Clone(); //saves the wasted effort of repopulating another blank page

        if (PrintFields(poPrinter, TaxForm_print.DataSet.Tables[0].Rows))
        {
          if (guid == Guid.Empty.ToString()) poPrinter.PrintTestRulers();
          poPrinter.SendToPrinter(SettingsModel.Local["POPrinter"]);
        }

        if (PrintFields(abwPrinter, TaxForm_print.DataSet.Tables[1].Rows))
        {
          if (guid == Guid.Empty.ToString()) abwPrinter.PrintTestRulers();
          abwPrinter.SendToPrinter(SettingsModel.Local["AbwPrinter"]);
        }

        CacheTables(TaxForm_print, "TaxForm"); //sync the updated PrintDate columns in the TableCache
      }
      return (true);
    }