The following is a list of all shared components and controls we have created:
The PDF Merger is a library Markus wrote that can parse PDFs and understand their structure without any outside dependencies. This could theoretically be extended into doing all kinds of PDF operations. Currently, it is used to load multiple PDF files and merge them, turning all the merged PDFs into one big continuous document. (This was originally written for our own infrastructure, so we can take thousands of magazine renewal notices or invoices into a single big document for printing).
Since this has no outside dependencies, it is not just free, but we fully control what it does and can extend it at will. (Note: The PDF standard is extremely extensive and this can probably only handle the PDF files it was made for. But it can relatively easily be extended if need be.) It is also designed to be run on servers.
HTML Edit Control
This is a control Markus wrote. It is a bindable control for editing simple HTML. The control is based on Microsoft's Chromium Edge (a.k.a. “WebView2”) and has no other dependencies. However, the WebView2 deployment package is required with the install. (Having Edge Chromium installed is not enough, nor is it required). It works on pretty much all new versions of Windows (I think Windows 7 and later).
The control does simple editing, such as bold, italic, underline, and so on. Since we fullow own this control, we can add to the functinality as desired.
The advantage of this control is that it does not depend on outside depencendies and it is therefore free for us to use. Also, we have full control over all the functionality and can change it as needed. One of the big individual features over other WPF edit controls is that it can bind directly to HTML. It therefore works well with MVVM frameworks, including out own CODE Framework.
There technically are two different controls: the actual edit control, and a (customizable and optional) toolbar that goes with it:
It roughly looks like this (GIF animation has some odd vidual artifacts… it looks a bit better in the real version):