Drupal is a registered trademark of Dries Buytaert

AI Document Proofreader lets editors upload Word (.docx) or PDF documents and have them automatically reviewed by an AI model. The result is an annotated, colour-coded version of the document where every suggested correction is highlighted inline — with the suggested replacement and the reason shown on hover. No external proofreading service account is needed; the module works with any AI provider already configured through the AI module.

Features

  • Upload Word (.docx) or PDF documents directly from the browser.
  • AI analysis runs as a Drupal batch job — one step per enabled criterion — so the page stays responsive and large documents do not time out.
  • Ten configurable proofreading criteria, each independently enabled or disabled:
    • Spelling and typos
    • Grammar and punctuation
    • Consistency (names, terms, formatting)
    • Clarity and readability
    • Style and tone
    • Formatting (headings, lists, spacing)
    • Facts and references
    • Repetition and redundancy
    • Flow and structure
    • Special elements (tables, charts, images, footnotes)
  • Each criterion's AI prompt is fully editable in the settings form — tailor instructions for your house style or industry.
  • Results preserve the original document structure: headings, bold text, lists, and tables all remain intact; annotations are injected inline as <span> tags.
  • Every criterion gets a distinct highlight colour; a dynamic legend identifies which colour belongs to which criterion.
  • Hover tooltips show the suggested correction and the AI's reasoning for each annotation.
  • The original source file is stored and can be downloaded at any time from the results page.
  • Automatic retry logic for transient API errors (5xx, rate limits, timeouts) with exponential back-off.
  • Configurable storage location (any Drupal stream wrapper: public:// or private://).

Post-Installation

  1. Enable the module: Extend → AI Document Proofreader.
  2. Visit Administration → Configuration → AI → AI Document Proofreader (or the Configure link next to the module).
  3. Select the AI provider and model you want to use for proofreading. All chat-capable models already configured in the AI module appear in the dropdown.
  4. Optionally adjust the storage URI (defaults to public://ai_proofread). Use private:// if uploaded documents are sensitive.
  5. Enable or disable individual proofreading criteria and customise their prompts if needed. Save the settings.
  6. Go to /ai/proofread (linked from the AI admin menu) to see all uploaded documents, or visit /ai/proofread/new to upload a document and start proofreading.
  7. After upload, a batch progress bar shows one step per enabled criterion. When complete, you are redirected to the annotated results page.

Two permissions control access: Administer AI Document Proofreader (settings page) and Use AI Document Proofreader (upload and view results).

Additional Requirements

  • AI module — provides the provider plugin system and the AI admin menu. At least one AI provider sub-module (e.g. OpenAI, Anthropic, Ollama) must be installed and configured.
  • phpoffice/phpword (^1.0) — used to convert Word documents to HTML. Install via Composer: composer require phpoffice/phpword.
  • For PDF support, one of the following is required:
    • smalot/pdfparser (^2.0, recommended, pure PHP): composer require smalot/pdfparser
    • pdftotext (poppler-utils) installed on the server as a fallback CLI tool.
  • PHP DOM and libxml extensions (enabled by default in most PHP distributions).
  • smalot/pdfparser — the preferred PDF extraction library. Without it the module falls back to the pdftotext CLI binary, which may not be available on all hosting environments.
  • Any AI provider module that supports the chat operation type and returns well-formed JSON (GPT-4o, Claude, Gemini, and most other modern models work well).

Similar projects

  • AI module — the underlying provider framework; by itself it does not offer document proofreading.
  • General AI content assistant modules typically work on node body fields in the Drupal editor. AI Document Proofreader is distinct in that it targets external office documents (Word/PDF) uploaded as files, preserves their full structure (headings, tables, lists), and produces a standalone annotated HTML view rather than editing a node field in place.

Supporting this Module

This module is open source and contributions are welcome. Please report bugs and feature requests in the issue queue.

Community Documentation

Additional documentation, screencasts, and example configurations will be linked here as they become available.

Activity

Total releases
1
First release
Feb 2026
Latest release
1 week ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Feb 19, 2026