Description
I have noticed that there is still a big flaw in printing in the .NET environment.
Even in an age of digitalization, printers are used extensively. In companies to print labels, delivery bills or labels, in the private environment to print documents, tax returns and many other applications.
Unfortunately, there is still no really good print library in the .NET environment. There is System.Drawing.Printing
and the C++/CLI library in the WPF repository System.Printing
.
Both are strictly limited to Windows, already very legacy and very limited.
The more companies move into the cloud, the more important it is to make the whole thing platform-independent.
My suggestion is to add an API that
- provides low level access to the printing protocols
- IPP Naming suggestion:
System.Printing.Ipp
(the protocol which is used by CUPS) - SMB - Naming suggestion:
System.Printing.Smb
(if there are no licensing problems, because SMB is proprietary) - Native printers (Windows printing apis / installed printers) -
System.Printing.Builtin
- IPP Naming suggestion:
- An abstraction over these protocols / universal api:
System.Printing
As you can easily see my suggestion is to recreate System.Printing
even if this API already exists in WPF (I could well imagine that WPF would then use this API in the long run).
It would make sense to distribute this API as a Nuget package for this reason instead of including it in the BCL.
The whole thing here is just a rough wish. I have heard especially in the company where I work as well as from other companies that they really want something like this and therefore a real-world case is there.
Feel free to leave your feedback. Since this would be a larger project, if there is an interest on the part of Microsoft and the community, I would deal with it in detail and create API Proposals.