Just stepped into a new project and ran into a rather interesting problem that I may have a ninja-like solution. Here's the story ...
You have a collection of PDF documents, all forms (meaning you can fill them out and print them, but not save a filled out copy) and a 4 year old way of doing it. After digging into it a bit, I realized that I can save them a ton of time/money/effort today and tomorrow by switching them out to something that isn't pay to play AND making it maintainable. My best idea -- creating a class that mimiced the pdf in a way and using custom attributes as the form field keys. Should be a simple wire-up from there! Then it hit me ... why bother with custom attributes? What if the code could write it up, like Linq, just make sure the values line up and you're good!
Wait what? For one, I really don't think I'm a kungfu master in code, so how could I even BEGIN to think I could write my own ...dare I say Linq to pdf? Is it even possible? Well, anything is, and I think I got a bead on it. Follow me on this and more importantly, tell me what you think...
The most important part of this is the end result, the form itself, which happens to be exactly where it starts. It alone defines the data structure and any class that would be generated for/by it. Self defining ...just like a database table. So going with that as truth for both before and after, in theory, the code would have to generate a mapping from a pdf form to an object. This would be a PERFECT use of this. If the form changes, updates, upgrades, drag/drop and you're updated object is there and good to go. My head's starting to hurt from this idea ... because it MIGHT be possible.
I know what I'll be working on this weekend...