Accessible examination content converter
A Python document-processing system that converts digital and scanned examination papers into structured text, accessible HTML, MathML, and speech-ready SSML.

Project definition
Problem statement
Examination material may contain scanned pages, columns, tables, mathematical notation, diagrams, instructions, and marks. Simple text extraction can lose reading order and structure, making the result difficult to navigate with assistive technology.
The engineering problem is to detect document structure, preserve question numbering and mathematical content, generate accessible output formats, and provide a review stage for elements that cannot be converted reliably.
Project objectives
- Extract text and page structure from digital and scanned examination documents.
- Preserve reading order, sections, question numbers, marks, lists, tables, and mathematical notation.
- Generate accessible structured text, HTML, and audio-ready output.
- Flag uncertain OCR, diagrams, and complex layout for manual review.
- Measure extraction accuracy, structure preservation, accessibility checks, and review effort.
Project structure
Project components
Document ingestion
Accepts supported document types, separates pages, records document metadata, and identifies digital or scanned content.
OCR and layout analysis
Extracts text, identifies regions, estimates reading order, and records confidence for each detected element.
Structure parser
Identifies headings, instructions, sections, questions, subquestions, marks, tables, and mathematical regions.
Accessible conversion
Builds semantic text and HTML output, converts supported mathematics, and prepares structured content for speech.
Review interface
Shows source and converted content together and allows correction of order, text, labels, equations, and descriptions.
Validation subsystem
Runs structural, accessibility, OCR, navigation, and output consistency checks against prepared documents.
Methodology
Project workflow
- 01Input examination document
The system validates the file, separates pages, and identifies whether OCR is required.
- 02Extract content and layout
Text, regions, coordinates, confidence values, and page images are produced.
- 03Build semantic structure
The parser reconstructs instructions, question hierarchy, marks, tables, and supported mathematical content.
- 04Review uncertain elements
Low-confidence text, diagrams, complex tables, and equations are presented for correction.
- 05Export and validate
The corrected document is exported to supported formats and checked for navigation, structure, and content consistency.
Demonstration scenario
A scanned examination paper containing instructions, numbered questions, a table, and mathematical notation is processed. The system reconstructs its hierarchy, flags one equation and a diagram for review, accepts corrections, and exports navigable HTML, structured text, and audio-ready content.
Engineering
Tools and method
- Command-line application
- Python commands for conversion, patch-based human review, validation, experiment execution, and evidence generation.
- Document ingestion
- PyMuPDF for PDF rendering and digital text extraction, python-docx for DOCX ingestion, and Pillow for image preparation.
- Document pipeline
- Tesseract OCR fallback, coordinate-based reading-order analysis, semantic reconstruction, and confidence recording.
- Accessible formats
- Semantic HTML, structured text, MathML where supported, and SSML-based preparation for audio generation.
- Quality controls
- Explicit review patches, strict MathML sanitisation, structural validators, and comparisons with independent reference transcripts.
- Delivery
- A reproducible Python environment with prepared examination documents, expected outputs, 40 automated tests, and experiment scripts.
Testing
Evaluation
Evaluation measures
- Character and word accuracy for digital and scanned input
- Reading-order and question-hierarchy accuracy
- Preservation of marks, tables, and supported mathematical notation
- Automated accessibility and document-structure check results
- Audio sequence consistency with the reviewed structured text
- Manual correction time across the prepared document set
Project boundaries
- The system converts examination content and does not generate answers or solve questions.
- Complex diagrams and uncertain mathematical notation require human review.
- The measured robustness study found a rotation condition that produced a text error without an automatic review flag.
- The prototype does not replace formal accommodation review by the responsible institution.
- Copyright-protected examination material is used only with permission or replaced by prepared samples.
Included
- 01Python source code for document ingestion, OCR, structure extraction, review, export, and validation
- 02Eight synthetic examination fixtures with independent ground truth and review patches
- 03Structured JSON, text, accessible HTML, MathML, and speech-ready SSML exports
- 04Corpus, robustness, scaling, validation, and test results
- 05Complete source code in a private GitHub repository
- 0699-page project documentation in PDF and editable Word formats
- 0714-page setup and usage guide in PDF and editable Word formats
Project record
No information is collected on this page.
- Permanent project ID
- GP-CS-0SW6OFX
- Catalogued
- 21 Aug 2026
- Completed
- 24 Aug 2026
- Verified
- 24 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.