Sector(s)

Team Members

Project Team

Southwark Council and Hammersmith & Fulham Council.

Visit the site

Visit the site

Organizations Involved

Community contributions

  • The AI PDF Importer module was built open source and published on Drupal.org, free for any council or Drupal site to use
  • A test suite using 14 real-world PDFs was built and is included with the module
  • The LocalGov Drupal community was part of the process from the start

Council content teams were drowning in PDFs. Thousands of them. Inaccessible, unsearchable, and impossible to convert to HTML without days of manual effort.

Chicken, a digital agency specialising in LocalGov Drupal, partnered with Southwark Council to build an AI-assisted importer that converts PDFs into structured, accessible Drupal content in under a minute. Built with a configurable plugin architecture, it shipped as open source so every council can use it β€” not just Southwark.

About the project

Results

  • PDF-to-HTML conversion time reduced from hours (sometimes days) to under one minute
  • Content editors can import documents without developer involvement
  • The module is open source, available on Drupal.org, and already being funded for a second version by West Lindsey District Council
  • Shortlisted for the AIImpact Awards 2026; covered by the Drupal Association, UKAuthority, LOTI, and Drupal4Gov EU

The challenge

Council content teams don't have a PDF problem. They have thousands of PDF problems.
PDFs are how services submit documents to be published. They arrive every week. They're not accessible. Converting them to structured HTML manually takes hours β€” sometimes days β€” and the work drains good people who could be doing something better.
Southwark Council's content team needed a way to get PDFs into their Drupal site without hours of copy-pasting. The documents were rich with useful information but locked in a format that wasn't searchable, editable, or accessible.
We'd already built a prototype and shown it at a LocalGov Drupal community event. Southwark saw it and funded it properly. So we got to work.

What we built

The importer uses a three-stage pipeline: extract, transform, and save.

  • Extract pulls content from the PDF file
  • Transform processes it β€” fixing line breaks, extracting images, optionally passing it through an AI model
  • Save creates structured publication nodes with the right references and media entities

     

Key features:

  • URLs found in PDFs are converted back into working links
  • Images are extracted and saved to Drupal's media library as proper media entities
  • An optional AI step re-introduces document structure β€” headings, paragraphs, lists, tables β€” and splits long documents into sensibly titled pages
  • The AI prompt is configurable: councils can use it to simplify language for easy-read versions, translate documents, or apply a house style
  • The whole pipeline is configurable, so councils can adapt it to how they work without forking the codebase
  • Supports any AI provider the Drupal AI module supports (20+ at release, including Anthropic, Azure, and Ollama)
  • Ships with a full test suite using 14 real-world PDFs, run on every build

The default AI prompt was co-written with community members from Brighton and Southwark councils. The AI step is entirely optional β€” councils that don't want AI in the loop don't have to use it.
We also fixed several bugs in the open-source PHP library used to extract text from PDFs and contributed them back upstream.

The results

What previously took hours now takes under a minute.

"This project has been a model example in collaborative innovation, from co-designing with frontline staff to sharing learnings with the LocalGov Drupal community and beyond."
β€” Angie Forson, Web and Digital Programme Lead, Southwark Council

The module shipped as v1.0 in early 2026. West Lindsey District Council is already funding v1.1. 

Benefits

  • Content editors can import PDFs without developer support
  • Accessible, structured HTML replaces locked, inaccessible PDF content
  • AI assistance gets editors to a working draft quickly β€” the editor reviews and refines, rather than starting from scratch
  • Fully configurable for different council workflows and style requirements
  • Built as a community contribution, not a one-council tool β€” any LocalGov Drupal site can use it and all of Drupal very soon. 

Why Drupal was chosen

Southwark already runs on LocalGov Drupal. Drupal's plugin architecture made it straightforward to build a configurable pipeline that integrates with the native content model and media library β€” and to share it as a community module that any council can use.

A web page screenshot with an image of people in a workshop, the title says "Southwark 2030: A Shared Vision for Our Borough Foreword: Our Shared Vision and Commitment" and the sidebar lists all of the pages in the original PDF, the content below the image talks about Southwark councils vision.

Technical Specifications

Drupal version:

Key modules/theme/distribution used:

Why these modules/theme/distribution were chosen

LocalGov Publications gives councils a structured, accessible way to publish HTML content. It was already in use at Southwark, which meant the PDF importer could slot directly into an existing editorial workflow β€” converting legacy documents into the same format editors were already creating by hand.