infoxicator / react-native-star-prnt

React-Native bridge to communicate with Star Micronics Bluetooth/LAN Printers
MIT License
67 stars 65 forks source link

mC-Print2, mC-Print3 support #38

Open khaledwj90 opened 5 years ago

khaledwj90 commented 5 years ago

is this library supporting mC-Print2, mC-Print3 printers?

hunwalk commented 4 years ago

Yes

CHOMNANP commented 4 years ago

@hunwalk, can you share some example?

We are curious to test this out.

svang-app commented 3 years ago

@hunwalk - please see #70 and I had the question on the emulator settings that we can use for mC-Print2, mC-Print3 printers?

Thank YOU.

hunwalk commented 3 years ago

so you need to determine whether you have a line, or bitmap printer. Line printers use : StarPRNT or StarLine emulation Bitmap printers use: StarGraphic

If neither of these works

It was so damn long, i dont really remember much, but i do know we had some problems with bitmap printers. So we had to tweak the lib by ourselves.

Check our fork: https://github.com/cstudios-slovakia/react-native-star-prnt It was not maintained for some time now, but i do recommend checking the commits

Cheers.

svang-app commented 3 years ago

@hunwalk - Thank you very much. It was very useful. We will try StarGraphic.

hunwalk commented 3 years ago

No need. Based on the official documentation it should be StarPRNT (yes i checked) It looks like you have to keep testing what works and what doesnt. Worst case scenario you have to make your own native module based on this existing one (or you have to create a working fork and use that inside your project)

svang-app commented 3 years ago

Oh - Nice. We have code that works very well with TSP100 printer and now we are getting mc-Print2 printer to test. So, StartPRNT emulation should work. We will test this out - that is good to know. Thank YOU for your prompt response.

We only know the minimum on this library and Star Printers to just make it work. The major problem we face is the sharing of the printer by multiple apps and that we have not have been able to figure out how to get it done. A mail to Star did not get a response.

Lozrus commented 3 years ago

Just to quickly confirm (I work for Star), the mC-Print range uses StarPRNT emulation, but if you ensure that your printer has version 3.0 firmware or later, then it is also compatible with the StarGraphic, command set and should work with your existing code that targets the TSP100. In this case, the most common issue is the device discovery, since your app may be filtering the discovery results to specifically look for TSP100s. The mC-Print2 uses 58mm wide paper rolls instead of 80mm, so you will need to adapt your rendering code to fit.

If your printer is new, then it will probably already have 3.0 firmware or later, but if you need to update it, then you can use the Star "mc_print Utility" app from the Play/App stores.

I'm sorry you didn't get a response from Star, could you let me know where you are based and I'll help you find the right regional office to contact.

svang-app commented 3 years ago

Thank you for a very quick reply. One of the problems that we faced was Port discovery - it worked well from iOS devices but it did not work in Android as we had to tweak to code to get the port properly. I assume that it might be the case with the library and I should have opened an issue. I will open it after I get the code segments from my developer.

The other issue is that Kitchen folks want to see the receipt/order in a bigger font so that they can read it easily. We have not been able to do that. If we get some pointers/guidance then we can then put the effort to write the code.

I am based in North Carolina and I sent a request to the Integration team and they replied immediatley. Earlier - I opened a general support ticket.

Lozrus commented 3 years ago

@svang-app In that case you are in touch with the right people from the correct office (I'm in the UK, covering Europe). I'm sure that they will be able to help, but do please keep in mind that this library is not a Star project, so there may be some limits. Is it a fairly thin wrapper around the Star SDK, so usually very supportable.

If you are printing with StarPRNT emulation, then the printers generally only have their standard font, and a narrower version built in. But they do support text magnification, you should be able to print the kitchen order with double width/height text. It's a bit confusing (I haven't used this library myself) but looking at the docs I think this is controlled via the appendMultiple property, to add test using the printer font, with magnification.

If you are printing a graphics based job (which you have to if using the StarGraphic emulation) then all text is rendered using the fonts built in to your terminal and you should be able to freely print that at any point size. Using appendBitmapText seems to support a fontSize property in this library to allow to to set the point size.