Great hear about your success.

I almost exclusively use graphical "meld" to diff especially long (not GB
size) files. Both SVN and Git can launch meld for rev to rev diffs.

For general document text searching (like Google ....) I use venerable
Recoll. It indexes TB of stuff overnight, it can see into PDFs, archives,
SVN/Git repos .....

Best, Tomas

On Mon, Jul 14, 2025, 20:42 Galen Seitz <gal...@seitzassoc.com> wrote:

> On 7/10/25 14:15, King Beowulf wrote:
> > On 7/9/25 11:00, Galen Seitz wrote:
> >> Hi,
> >>
> >> I often create a pdf of sdiff output using a command like this:
> >>
> >> sdiff -w100 old new | enscript -o sdiff.pdf
> >>
> >> This works okay, but the resulting pdf is not searchable.  Can someone
> >> suggest an alternative that will properly scale the wide output (-w100)
> >> to a letter size pdf, yet retain the ability to search for text strings?
> >>
> > Hello Galen,
> >
> >
> > If you have a CUPS installed, you can print text file to pdf. This pdf
> > will be text searchable.  At least using okular pdf reader.
> >
> > https://www.cups.org/doc/options.html
> >
> > You can apply paper size etc to the CLI lp/lpr.  I just tested the GUI
> > print version Xfce mousepad.
> >
> > This converts a text to pdf that okular can search:
> >
> > enscript --output=- bond_movies.txt | ps2pdf - bond_movies.pdf
>
> Thanks to everyone for all of the suggestions.
>
> Using ps2pdf, although convoluted, does accomplish what I want.  The
> following command line will create a searchable pdf from the 160
> character wide sdiff output.  The -r option to enscript selects
> landscape mode, and changing the font to Courier9 allows for 160
> characters in landscape mode without wrapping.  ps2pdf creates a
> searchable pdf from the postscript output, which is not the case if
> enscript creates the pdf directly.
>
> sdiff -w160 netlist-old.txt netlist.txt | enscript -r -f Courier9 -p - |
> ps2pdf - sdiff.pdf
>
> I briefly experimented with using the soffice command (libreoffice from
> the command line), but it doesn't support taking input from stdin, which
> kind of defeats the purpose here.
>
>
> And to answer Tomas' questions...
>
> > 1. Why do you convert text output of sdiff to pdf? Txt seems portable
> > enough, no?
> In retrospect, yes.  In the future, I'll just save the sdiff output to a
> txt file, then use enscript if I want to print it.  I think I initially
> went down this path because I knew I wanted to print the sdiff output.
> It was only later that I wanted to search it.
>
> > 2. Assuming you really need the pdf - you could save it as text, then
> load
> > it to libre office, format it as needed, and export it as pdf
> I'm comparing two netlists, so bringing the sdiff output into a word
> processor just feels wrong.
>
> > 3. You could use libreoffice from command line like: libreoffice
> > --convert-to pdf file.txt It will use default page format and font.
> See the comment about soffice above.
>
>
> BTW, in case you're wondering whether I'm really printing out an entire
> netlist, the answer is no.  I left out of the pipeline the grep command
> (grep -B1 '[<>|]') that I use to only see the relevant diffs.
>
> And for those who don't what a netlist is:
> <https://en.wikipedia.org/wiki/Netlist>
>
>
> galen
> --
> Galen Seitz
> gal...@seitzassoc.com
>
>

Reply via email to