News, updates, and the latest information about Miradyne Software Development and Projects.

Thursday, March 8, 2007

Free Beta Software Available!

Did I mention it's FREE?



Well, I have finally found enough time to prepare setup packages for our beta products, DSI PrintManager and the Miradyne Component Libraries, to finish up on the web site (at least enough for now), and to get our Forums up and running.

There is no charge to download the software, and although you may provide us with some contact information if you wish, there is no need to do so in order to download the software.

DSI PrintManager is a nice little Printing application, which provides capabilities for creating all sorts of printable documents, but is specifically designed with SQL Server database reports in mind. It was originally created for an in-house database management application. I found Crystal Reports to be functionally capable of doing almost any kind of report, but also incredibly difficult and counter-intuitive to use.

DSI PrintManager does a few things, and does them well.

  1. First, it provides a simple, WYSIWYG graphic user interface for creating printable documents. The size of the document in the PagePanel is the size of the document to be printed.
  2. Second, PrintElements can be moved and resized by dragging and dropping with a mouse. Even images can be resized in the same way.
  3. Third, there are no grids, sections, or any sort of difficult interface items to deal with. What you see is truly what you get. If you put a table of data into the PrinterDocument, it simply goes where you put it. It may jump or resize itself to fit inside the margins of the page, but that's it. If you want to add a header, you simply add other PrintElements above the table. The application is smart enough to know that if it's above the top of the table, it's part of the header. Of course, you need to specify whether these PrintElements are to be repeated on all pages. But that's about the size of it.
  4. Fourth, it provides a completely extensible .Net programming interface, which means that it can be used with or without the GUI, in applications you write with the Microsoft .Net Framework. In addition, you can create your own extensions using the base PrintElement and PrintElementData classes.
  5. Finally, your documents can be saved to an XML file format (with a .pdd extension). The XML includes everything, including images and database data, and can be transformed using XSL to any other document format you wish. At present, support for transforming to HTML is already built into the application. We hope to add Microsoft Word to the list of transforms next.


How does it work? Well, Printing from computers today is not what it used to be. Back in the day, printers supplied fonts and all sorts of other necessary software to create printed documents. But today, printers essentially print images. What your word processing software or whatever other software you use sends to the printer is an image.

An image is a rectangle with something drawn or "painted" inside it. In addition, like an HTML page (such as this one), it may contain other smaller rectangles with different things drawn in them. Sometimes they overlap. So, they can be stacked.

DSI PrintManager uses 2 base classes, PrintElementData and PrintElement, to create these rectangles. The PrintElementData class is the class which holds all the information about what to draw and how to draw it. The PrintElement class is a container for a PrintElementData class instance, and provides a user interface for interacting with it.

There are 6 current PrintElement/PrintElementData classes currently:

  1. TextPrintElement creates a rectangle with text in it.
  2. LinePrintElement creates a horizontal or vertical line.
  3. BoxPrintElement creates a box.
  4. ImagePrintElement creates an image.
  5. TablePrintElement creates a table from a database.
  6. LabelPrintElement creates sheets of labels.


These 6 PrintElement classes provide all the basic functionality needed to create printable documents. In fact, the ImagePrintElement can hold any kind of image, so it draw anything that fits in a single page.

So, please, try it out, and let us know what you think of it!

In addition, we have a rather large set of assemblies which we call the Miradyne Component Library. The web site, as well as the downloadable zip file, contains complete documentation on these assemblies. These are Microsoft .Net Platform 2.0 assemblies, and contain classes, components and Controls for all sorts of things, including Networking, Imaging, Database connectivity, Geography, Logging, Exception-handling, and much more.

I will add more information about these, and updates about the web site, as I am able. I will be in Seattle next week for the Microsoft MVP Summit, so I'm sure I'll have a lot to report when I get back!

No comments: