The converter pipeline lets Diffoniq compare file formats it cannot read itself — PDF documents, Word files, SQLite databases, image metadata — by running an external program that turns the file into plain text. The text output of both sides is then compared with the normal diff engine.
Rules are configured under Options › Converters… Each rule consists of:
| Name | Optional display name; shown in the converted: badge of the header. Without a name the file masks stand in. |
| File masks | Semicolon-separated wildcard list, e.g. *.pdf;*.docx.
Matching is case-insensitive and applies to the file name (also inside
archives). |
| Command | The external command line. %src% is replaced with the
source file, %out% with the output text file the
converter should write. A command without %out%
has its standard output captured instead. Both paths are inserted
already quoted — do not add your own quotation marks around the
placeholders. |
| Timeout | Maximum runtime in seconds (default 30). A converter that exceeds it is terminated, including any processes it started. |
| Active | Deactivated rules stay in the list but are skipped. |
The first active rule whose mask matches wins — use Move Up/Move Down to order overlapping rules. When no rule matches, the file is compared normally.
The fields below the list are moved into it with Add as New Rule or Apply to Selected. OK keeps what you typed as well: an entry that was never added becomes a new rule, and if a selected rule was changed in the fields, Diffoniq asks whether to apply the change to it or add it as a new rule. Cancel discards every change made in the dialog. The Help button (or F1) opens this page.
Conversion results are cached in the convcache folder next to
diffoniq.ini (a portable installation keeps it portable). The
cache key is the source file’s content plus the rule’s
command line: an unchanged file never runs the converter twice, an edited
rule never serves stale output. The entry
ConvCacheMax=200 in diffoniq.ini caps the cache
size in MB (least recently used entries are removed first;
0 disables the cap).
Diffoniq only ever runs commands you configured yourself — there are
no built-in rules, and nothing starts automatically for unmatched files. The
command runs directly (no shell); shell syntax such as pipes or redirection
only works when you explicitly configure cmd.exe /c as the
command.
Free, widely-used tools that work well; all examples write UTF-8, which Diffoniq detects automatically (UTF-16 and ANSI output are handled too).
| PDF — pdftotext (Xpdf/Poppler) | pdftotext -layout -enc UTF-8 %src% %out%Masks: *.pdf |
| Word / Office — pandoc | pandoc -t plain -o %out% %src%Masks: *.docx;*.odt;*.epub;*.rtf |
| Legacy Office & more — xdoc2txt | xdoc2txt -8 %src% (UTF-8 to standard output)Masks: *.doc;*.xls;*.ppt |
| SQLite databases — sqlite3 | sqlite3 %src% .dumpMasks: *.db;*.sqlite;*.sqlite3 |
| Image / photo metadata — ExifTool | exiftool -charset UTF8 %src%Masks: *.jpg;*.jpeg;*.tif;*.nef;*.cr2 — compares
the metadata, not the pixels. |
Tools that are not on the PATH need their full path, e.g.
"C:\Program Files\pandoc\pandoc.exe" -t plain -o %out% %src%.
Windows ships a tool that turns any file into text:
cmd.exe /c certutil -encode -f %src% %out% writes the file as
Base64. With the masks set to *.pdf, a PDF pair then opens in the
converted, read-only text view with the converted: badge, and a
different pair shows a difference. This is a way to see the pipeline work
before installing a real converter — it is not a way to read
the document: Base64 lines carry no words, and two PDFs that differ only in
metadata differ in the text just as much as two with different content. For
the document itself, use pdftotext from the table above.