Skip to content

EnaiaInc/doc_redlines

Repository files navigation

Hex.pm Hexdocs.pm Github.com

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.6"}
  ]
end

Usage

{:ok, result} = DocRedlines.extract_redlines("/absolute/path/to/file.doc")
redlines = result.redlines

Each redline entry includes:

  • type (:insertion or :deletion)
  • text
  • author
  • timestamp
  • start_cp, end_cp
  • optional paragraph_index, char_offset, context

Notes

  • Input files must be legacy Word .doc format.
  • Precompiled NIFs are published in GitHub Releases; set DOC_REDLINES_BUILD=1 to 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors