I am actually writing something similar now using Ranorex and C# (mostly C#). For this testing all of it could be done in just C#, VB, etc... I am only using Ranorex in this instance as my reporting engine since it is already used in other pats of my tests to export the reports from my AUT.
For all my text files it's quite easy, create a StreamReader, read line by line and compare.
For my PDFs, DOCs and XLS reports I open Acrobat, Word or Excel and save as text then run through the text compare method above.
For other reports that I cannot save as .TXT (for example XPS print outs) I create a FileStream and do a byte by byte comparison.
The tricky part is to check for and ignore date/time stamps which I do by parsing each line of text from the StreamReader and applying a regular expression that checks for different date/time stamp formats then ignoring only the date/time stamps if found.