6

I'm looking for a tool that will allow me to:

  • Take a diff between two given plain text files
  • Display the diff on screen in a traditional two-pane format, with differences highlighted
  • Print the diff, in a similar two-pane format, still with differences highlighted

Requirements:

  • Must be able to run on Windows 8
  • Displays and prints the diff in a left/right fashion, similar to many graphical diff utilities like for example WinMerge (I don't want something like the output of the Unix diff command)
  • Can print to any paper format (within reason; I'm mostly interested in landscape A4, but also have access to fancier equipment and the ability to use that may come in handy at times), and word-wraps the lines in the text as needed to fit the text on the page; word-wrap indications in the print output would be greatly beneficial but not strictly a requirement

Desires:

  • Free (gratis) is strongly desired
  • The ability to intelligently handle text files that use different character encodings (for example UTF-8 on one side and UTF-16 on the other side of the comparison) would be very nice
  • Syntax highlighting for SQL, C# and Javascript (both on screen and in print) would be very nice, but is not required
  • Line number printing would be very nice

Nice extras to have:

  • Print preview would be nice
  • Configurable font sizes (especially for print output) would be nice
  • Open source would be nice

What software might meet my needs?

  • What have you tried? – Mawg Feb 3 '15 at 10:35
  • @Mawg I haven't been able to find any tool that does the printing part like I want to, so that's what I really am looking for. WinMerge comes fairly close but doesn't seem to handle long lines at all (they get cut off). Something like Devart Code Compare prints okay but I've only been able to coax it into printing one side of the comparison. – a CVn Feb 3 '15 at 10:42
2

You want WinMerge. It will print highlighted differences, has print preview & is free.

[Update] I just tried Beyond Compare (v3, there is av4 available now) and it will even let you save the comparison as HTML. That should be enough(?). It's not free, but is worth the money for the extra features.

  • But it seems to cut off overly long lines, where "overly long" is something like "anything more than a few tens of characters". Is there simply an option that I am missing which needs to be set? – a CVn Feb 3 '15 at 10:42
  • Oops, sorry, our posts crossed. I Pref WinMerge, but occasionally use KDiff3 & Beyond Compare. I will look at those for you. Btw, aren't overly long lines a code smell? (if it is code, that is) – Mawg Feb 3 '15 at 10:44
  • 1
    The problem is the definition of "overly long". But I've been playing around some more with WinMerge and it looks like it might actually fit the bill, at least mostly. Seems the trick there is to turn on word wrapping before printing. Thanks for pointing me in the right direction and getting me to hammer on it some more! – a CVn Feb 3 '15 at 10:46
  • You might also look at Kdiff3. I can't check it out from behind my company's firewall. But that "save as HTML" feature in Beyond Comparer will be hard to match. – Mawg Feb 3 '15 at 10:53
1

I feel to suggest you DiffMerge.

It runs (even) on Windows and, similarly to WinMerge and Devart Code Compare, has a nice GUI.

Comparing it to WinMerge, I personally think DiffMerge is better at file diff while WinMerge wins hands down at folder diff.

As for Devart Code Compare, DiffMerge offers several features for free (for example it offers 3-way text comparison which is not for free in Devart Code Compare) but requires paid registration for some other.

Since the matter of your question is about the need of a tool that allows you to get side-by-side printing handling long lines issues (so that they don't get cut off) I can tell you that, unfortunately, the standard printing features of DiffMerge do act same as WinMerge (or maybe even worse) BUT if you register (I'm not, so I can't actually test) you can use a feature that let's you export a s-b-s file diff to HTML and I think that might solve your problem.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.