dittodhole / dotnet-Svg.Contrib.Render

Other
26 stars 5 forks source link

@dittodhole Hello, unfortunately I have not found a direct contact way so I contact you through this way. It also annoys me that there is still no better solution to print. That is why I have now joined the project https://github.com/BinaryKits/BinaryKits.Zpl. Maybe you are also interested in working here. #23

Closed dittodhole closed 3 years ago

dittodhole commented 3 years ago

@dittodhole Hello, unfortunately I have not found a direct contact way so I contact you through this way. It also annoys me that there is still no better solution to print. That is why I have now joined the project https://github.com/BinaryKits/BinaryKits.Zpl. Maybe you are also interested in working here.

Originally posted by @tinohager in https://github.com/dittodhole/dotnet-Svg.Contrib.Render/issues/22#issuecomment-888484621

dittodhole commented 3 years ago

Hi there 😉

The goal of this project is to abstract any direct printer interaction with a WYSIWYG workflow (ie SVG as the source, not printer commands), and to support multiple printer languages at once (my initial problem was to service multiple printers and direct image rendering of the label with identical layout at the same time for different clients, which makes manual positioning, image conversion, ... cumbersome) - the main takeway from this project is converting to ZPL/EPL/FingerPrint (and utilize the underlying SVG project to render PNG/JPG/GIF/PDF/...) from SVG, hence the name.

Thanks for bringing another ZPL abstraction to my attention, which could be used to implement https://github.com/dittodhole/dotnet-Svg.Contrib.Render/blob/9308b5c5f793d1b5531529056f740367a33d5ce2/src/Svg.Contrib.Render.ZPL/ZplContainer.cs and https://github.com/dittodhole/dotnet-Svg.Contrib.Render/blob/9308b5c5f793d1b5531529056f740367a33d5ce2/src/Svg.Contrib.Render.ZPL/ZplCommands.cs differently - I will not actively join the development of BinaryKits.Zpl, as it is focused on a different goal.

If you care to exchange the command abstraction, you can do so and open a PR.

It also annoys me that there is still no better solution to print.

Could you possibly open up a new issue and describe your problem in detail? Your actual discomfort is unclear to me, maybe I can help.

Best Andreas

tinohager commented 3 years ago

I originally first became aware of your project and wanted to use this for my problem unfortunately there were difficulties and I kept searching. Our customer uses Intermec printers and I found out that ZPL protocol is understood by almost every printer. So I increased my focus in this direction. I have extended the above mentioned project, we now have a prototype to also visualize ZPL code, so to create a preview, as a next step I want to create a designer and then offer the whole thing as a Docker container.

Both projects want to make life easier with different printers. They have gone the way of a uniform format and then on the conversion. The other project about a widely used protocol.

dittodhole commented 3 years ago

Thanks for the insight! 👍

Servicing industrial scenarios, I have to deal with legacy printers (which only support EPL with eg Zebra LP 2844 or FingerPrint with eg Intermec PF4i) - ZPL as the solution might be an option in 10+ years time 😢 Additionally, we have to service webservice scenarios - making the detour via printer commands is no option here.

SVG therefore serves as the designer to solve both scenarios.

tinohager commented 3 years ago

https://support.honeywellaidc.com/s/article/How-to-select-a-Command-Language-on-EasyCoder-PFMX-series-printers

What is the Intermec EasyCoder PFMX-Series?

Users of these printers running the latest firmware can choose from the following Command Languages:

tinohager commented 3 years ago

Additionally, we have to service webservice scenarios - making the detour via printer commands is no option here.

Could they describe that in more detail?

tinohager commented 3 years ago

For the other issue with EPL I found this project that supports EPL and ZPL by itself https://github.com/rkone/sharpzebra

dittodhole commented 3 years ago

https://support.honeywellaidc.com/s/article/How-to-select-a-Command-Language-on-EasyCoder-PFMX-series-printers

What is the Intermec EasyCoder PFMX-Series?

  • Intermec EasyCoder PF2i & PF4i (LCD) Industrial Printers

Users of these printers running the latest firmware can choose from the following Command Languages:

  • IPL (Intermec Print Language)
  • Fingerprint
  • Direct Protocol
  • DSim (for DPL or Datamax Print Language)
  • ZSim (for ZPL or Zebra Print Language)

https://www2.intermec.ch/wp-content/uploads/2016/06/Intermec-EasyCoder-PF4i-und-PF4ci-Datenblatt.pdf lists

Whereas https://opalgmbh.at/wp-content/uploads/2014/06/Intermec_PF4i.pdf lists your suggested languages.

Are there differences in the model?

tinohager commented 3 years ago

I think there is a new firmware available and the documentation are not updated.

our PF2i works with zsim

dittodhole commented 3 years ago

Additionally, we have to service webservice scenarios - making the detour via printer commands is no option here.

Could they describe that in more detail?

Sure - we have the requirement to render labels (not only via a webservice) as PNG/GIF/PDF/... (any image format ...) as those may also get printed on A4 adhesive labels (printed on by regular printers). Already having SVG as our designer, https://github.com/svg-net/SVG/blob/062dc7c91cadf5607cceca1103f38628c0e065f8/Source/SvgDocument.cs#L616 is used to render the label.

tinohager commented 3 years ago

https://support.honeywellaidc.com/s/article/How-to-install-ZSim-older-versions-using-Field-Installer

ZSim.fpi we have fix in this file the path to the ZSIM.uff file in the download it was wrong

dittodhole commented 3 years ago

I think there is a new firmware available and the documentation are not updated.

our PF2i works with zsim

Updating the firmware is the responsibility of our customers, nothing that we can enforce (unless there are new features the customer requests, and are only available in newer versions) 😞

tinohager commented 3 years ago

we have a viewer in our project that is similar to http://labelary.com/viewer.html so you can create an image that can be printed normally

dittodhole commented 3 years ago

we have a viewer in our project that is similar to http://labelary.com/viewer.html so you can create an image that can be printed normally

Thanks for the input!

Personally, preferring standard workflow with InkScape, no http-overhead in rendering, servicing legacy devices easily, ...

Anyway, the workflow is established (for very good reasons!).

Hope that I could shed some light on the background and motivation of this project. For any non-intrusive enhancements I am happy to merge a PR!

Closing