none
Epson Receipt Printer prints very slow (POS for .NET)

    Question

  • Information you need:

    • .Net Framework 4.0
    • VS 2010 , C#
    • Microsoft.PointOfService.dll  Ver POS for .Net 1.12
    • Epson TM-T20 Thermal Printer (USB port)

    Everything is good and works fine, there is no problem with the codes and installations.

    The Problem is when I want Print a simple Receipt with no Logo or image or bar code, It takes many times almost 20 Second for 25 simple lines. and print every lines with a little delay. and the printer is noisy like dot printer.

    But, when I press TestPrint button in the Print Drive is very faster than my codes and no noise.

    I am using the OPOS code for .Net which was provided in CD Driver of Epson.

    this is  a sample of print code:

     m_Printer.PrintNormal(PrinterStation.Receipt, "\u001b|cA" + "*** Customer Copy***" + "\n");

    Please, help me, I will get into trouble if I could not solve this problem.

    Thanks,

    Mehdi



    Wednesday, January 09, 2013 2:33 AM

Answers

  • Hi Mehdi,

    If you are printing a test page in Devices and Printers in Control Panel, it likely is just printing directly to the printer through its Windows printer driver and not going through the Epson OPOS component. This is not a fair comparison, as there is likely some significant printing code in the Epson OPOS component in an OPOS application that would not be running in a straight printer page test.

    I would suggest testing an application that uses the same OPOS component and sending the same text in the same way, and suspect you will see the same sort of problem. As was mentioned in the link I pasted previously, it seems this may be a problem with how the Epson OPOS component is handling printing. Have you tried printing from the Pos for .Net sample application? (located in \Program Files\Microsoft Point of Service\SDK\Samples). I suspect you will see the same thing there as well when printing to the Epson OPOS driver.

    Here is an additional link discussing the Epson ADK and performance problems when printing from OPOS applications.

    http://go4answers.webhost4life.com/Example/pos-receipt-printing-63760.aspx

    Hopefully, that might help. Otherwise, you probably will need to contact Epson to see if this is a known issue with the component and/or to get suggestions for how to format the text to improve printing performance.

    Hope this helps,

    Keith Fink
    Microsoft Developer Support.


    Keith Fink Microsoft

    Friday, January 11, 2013 3:58 PM

All replies

  • Hi Mehdi,

    From your description, I ‘d like to move this post to  the most related forum.

    There are more  experts in this aspect, so you will get  better support and  may have more luck getting answers.

    Thanks for your understanding.

    Regards,


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, January 10, 2013 2:44 AM
  • Hi Mehdi,

    If I am understanding correctly, you are using POS for .Net 1.12 with an Epson receipt printer going through the Epson OPOS driver. When printing text using PosPrinter.PrintNormal, it is much slower than when printing from the Epson sample app, and you are looking for ways to improve performance.

    From the POS for .Net perspective, there is probably very little we can do here. There is no extra code running in the POS for .Net run-time when using a legacy OPOS driver. I checked and the only thing PrintNormal does here is call into the COM component and passes in the PrinterStation and the string to be printed. So the delay is almost certainly occurring somewhere in the Epson OPOS driver component after being called.

    I did some searching and saw other customer reported the same sort of issue with using an Epson OPOS component.
    http://social.msdn.microsoft.com/Forums/en-US/posfordotnet/thread/7e7dcaca-6c73-4b9f-985c-84dea5781afe

    The customer there found the problem to be the OPOS formatting commands he was sending. He manually formatted the strings and submitted the print jobs as one string to speed up the performance. Maybe that will give you an idea of what to try. Otherwise, you might want to contact Epson to see if there are any known issues with using the Epson OPOS component and see if they have some suggestions.

    Hope this helps,

    Keith Fink
    Microsoft Developer Support


    Keith Fink Microsoft

    Thursday, January 10, 2013 7:33 PM
  • Hi Keith,

    Thank you for helping me.

    When I press Test Print Page button [in the Device and Printers] it is very fast and the sound of printer is like Laser jet printer which is good. but When I want to print in my App, the print is like Dot Print.Print every lines slowly like old printers and sound of printer is like squeaky. in this situation when I want to print a Text in the center of paper, delay will start but if the Text is the left side of paper there is no delay.
    I worked 2 days on my codes and figure out that delay depends on the position of the Text. button it does not make sense. because "Test Print Page Button"  has all text positions and print very fast.


    • Edited by Mehdi999CA Thursday, January 10, 2013 7:49 PM
    Thursday, January 10, 2013 7:43 PM
  • Hi Mehdi,

    If you are printing a test page in Devices and Printers in Control Panel, it likely is just printing directly to the printer through its Windows printer driver and not going through the Epson OPOS component. This is not a fair comparison, as there is likely some significant printing code in the Epson OPOS component in an OPOS application that would not be running in a straight printer page test.

    I would suggest testing an application that uses the same OPOS component and sending the same text in the same way, and suspect you will see the same sort of problem. As was mentioned in the link I pasted previously, it seems this may be a problem with how the Epson OPOS component is handling printing. Have you tried printing from the Pos for .Net sample application? (located in \Program Files\Microsoft Point of Service\SDK\Samples). I suspect you will see the same thing there as well when printing to the Epson OPOS driver.

    Here is an additional link discussing the Epson ADK and performance problems when printing from OPOS applications.

    http://go4answers.webhost4life.com/Example/pos-receipt-printing-63760.aspx

    Hopefully, that might help. Otherwise, you probably will need to contact Epson to see if this is a known issue with the component and/or to get suggestions for how to format the text to improve printing performance.

    Hope this helps,

    Keith Fink
    Microsoft Developer Support.


    Keith Fink Microsoft

    Friday, January 11, 2013 3:58 PM
  • I am having the same problem.  As described above,  when we test with the OPOS utility, it print very quickly, under 1 second.  When printing through POS. NET,  takes 15- 35 seconds for printing to start.  In addition,  I have a Cash Drawer and it is also having the same communication issue. When testing with the OPOS utility,  the CashDrawer opens immediately,  when through POS.NET  20-35 seconds. 

    The issue in the POS.NET framework occurs in the m_CashDrawer.Open() and the m_Printer.Open() commands. 

    I have the same configuration as above, with the exception of:

    Visual Studio 2012

    Epson TM-T88V

    Any help would be greatly appreciate. 

    D. Davidson

     
    Monday, May 27, 2013 4:32 AM
  • Hello Dear Davidson,

    I solved this issue.

    If your printer is doing like Dot Printer and it is very noisy and the printer has delay for every lines,you should change your code, check the sample Epson code which is provided in the CD Print Driver.

    If you have a delay at first time when you click a Print button in your application, and you are using "Microsoft.PointOfService.dll  Ver POS for .Net 1.12" and the .Net Framework 4 or 4.5, unfortunately, I have to say the delay is between Framework and PointOfService.dll which are not match for some reason.

    After some days I figured out this issue and I changed .Net Framework 4.0 to 3.5 .

    Before you  do anything just make sure all device installations are correct and test your POS software by more than 1 computers.

    I hope you will find out the issue.

    Mehdi,
    Microsoft Certified Professional (MCP)
    Microsoft Certified Technology Specialist (MCTS)






    • Edited by Mehdi999CA Tuesday, July 23, 2013 4:29 PM update
    Thursday, May 30, 2013 1:56 PM
  • the issue is that the print commands are going to the printer as each one is finished.

    the separate calls are each going to the printer one at a time w/o any buffering and each one has some overhead to create the USB transfer to the device and for error checking.

    if you make up a string with all the escape commands and newlines for the text you want to print and then send that with one print call it will print very fast and with very little noise.

    I found the same problem and that was my solution.

    also by the way you can use .net 4.0 with the MS opos you just need to google for the lines to add to the app.config to enable support for legacy cas security as MS has not updated the installer for .net 4.0 and the old library uses the old cas security style.

    Tuesday, July 23, 2013 4:15 PM
  • Hi Mehdi,

    If you are printing a test page in Devices and Printers in Control Panel, it likely is just printing directly to the printer through its Windows printer driver and not going through the Epson OPOS component. This is not a fair comparison, as there is likely some significant printing code in the Epson OPOS component in an OPOS application that would not be running in a straight printer page test.

    I would suggest testing an application that uses the same OPOS component and sending the same text in the same way, and suspect you will see the same sort of problem. As was mentioned in the link I pasted previously, it seems this may be a problem with how the Epson OPOS component is handling printing. Have you tried printing from the Pos for .Net sample application? (located in \Program Files\Microsoft Point of Service\SDK\Samples). I suspect you will see the same thing there as well when printing to the Epson OPOS driver.

    Here is an additional link discussing the Epson ADK and performance problems when printing from OPOS applications.

    http://go4answers.webhost4life.com/Example/pos-receipt-printing-63760.aspx

    Hopefully, that might help. Otherwise, you probably will need to contact Epson to see if this is a known issue with the component and/or to get suggestions for how to format the text to improve printing performance.

    Hope this helps,

    Keith Fink
    Microsoft Developer Support.


    Keith Fink Microsoft

    Keith may not have ever done opos work ... with opos we do not use the windows printer drivers.

    the opos test prints are done with opos drivers.

    Tuesday, July 23, 2013 4:21 PM