DocRedlines
Fast legacy .doc redline extraction via a Rust NIF. Built to closely match
LibreOffice’s track-changes output and achieve near-parity on real-world
documents.
Install
Add to mix.exs:
def deps do
[
{:doc_redlines, "~> 0.5"}
]
end
Usage
{:ok, result} = DocRedlines.extract_redlines("/absolute/path/to/file.doc")
redlines = result.redlines
Each redline entry includes:
type(:insertionor:deletion)textauthortimestampstart_cp,end_cp- optional
paragraph_index,char_offset,context
Notes
- Input files must be legacy Word
.docformat. - Precompiled NIFs are published in GitHub Releases; set
DOC_REDLINES_BUILD=1to force a local build. - This library does not include or bundle any document samples.
Development
To force a local build of the NIF:
DOC_REDLINES_BUILD=1 mix test
To compile all Rust targets locally:
RUSTLER_PRECOMPILED_FORCE_BUILD_ALL=1 mix compile
License
MIT