We are creating a new HR application (.NET) that requires printing of complex forms (IRS documents, employment forms, pay checks, etc). Some of these would be printed on preprinted stock (i.e. W-2s) while others would need to save the formatting within the report/form design.
In our OLD legacy applications, we have used C programs to create PCL files to handle forms. This was a ROYAL pain. We’re unsure what the best approach is today. We’ve tried mocking something in ActiveReports, but it seemed difficult to get the layouts correct.
How do other companies handle this? For example, what would you expect banks use to print complex billing statements, or to fill in pre-printed application forms?
Crystal Reports is a good solution for this. We used to use it for printing HCFA insurance forms. If you’ve never seen one, HCFA is like the grandaddy of all government forms for printing headaches. It allows exact positioning on a piece of paper. However, at least in past versions, when using Crystal you want to remove all guidelines before moving to production. Guidelines (at the last time I used it) can cause up to .5 inch variation in output from printer to printer. We found that we had no variation without the guidelines.
Another point is that there is always some very minor variation in print positioning from one printer to the next. It’s typically less than 1/16 of an inch, which is within the tolerances of most government forms. However if that is not okay, you’re in for a world of headache if you need to support different brands/classes of printers. This will be true no matter what software you go with.
As far as software to do it directly goes, it depends on the application. If you just need to dump out a few W4’s then buying a package that prints from a standard format (.csv, excel, etc) to a W4 is probably going to work out okay. If you need to handle much more complex forms (like the HCFA), you will come out better by purchasing a professional reporting tool.
If it’s a simple output, you’ll be able to find cheap software that does it for you. Cost is going to relate directly to the complexity and number of different forms you need to support.