modcomms/frontend
michael c1030ee292 Add PDF rasterization support for reliable preview and analysis
PDFs are now converted to PNG images at 200 DPI before being sent to
Gemini for analysis. This fixes the unreliable iframe-based PDF preview
and ensures all pages are properly analyzed.

- Add PyMuPDF dependency for PDF rasterization
- Create pdf_service.py with rasterize() and get_page_count()
- Update agent interfaces to accept list of images for multi-page support
- Add analyze_with_images() to Gemini service for multi-image analysis
- Return rasterized PDF pages via WebSocket for frontend display
- Add page navigation UI for multi-page PDFs in preview components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 09:36:56 -06:00
..
components Add PDF rasterization support for reliable preview and analysis 2026-01-24 09:36:56 -06:00
services Add PDF rasterization support for reliable preview and analysis 2026-01-24 09:36:56 -06:00
utils Persist navigation state in URL for browser refresh support 2026-01-24 09:04:04 -06:00
App.tsx Persist navigation state in URL for browser refresh support 2026-01-24 09:04:04 -06:00
constants.ts permissions changes 2025-12-18 16:51:27 +00:00
index.html Update browser tab title to Barclays Mod Comms 2026-01-08 09:24:27 -06:00
index.tsx permissions changes 2025-12-18 16:51:27 +00:00
metadata.json permissions changes 2025-12-18 16:51:27 +00:00
package-lock.json permissions changes 2025-12-18 16:51:27 +00:00
package.json permissions changes 2025-12-18 16:51:27 +00:00
README.md permissions changes 2025-12-18 16:51:27 +00:00
tsconfig.json permissions changes 2025-12-18 16:51:27 +00:00
types.ts Add PDF rasterization support for reliable preview and analysis 2026-01-24 09:36:56 -06:00
vite.config.ts permissions changes 2025-12-18 16:51:27 +00:00

GHBanner

Run and deploy your AI Studio app

This contains everything you need to run your app locally.

View your app in AI Studio: https://ai.studio/apps/drive/1vH-R-vj0Xkk_g2ZFdHtLxNc12sFTOl2L

Run Locally

Prerequisites: Node.js

  1. Install dependencies: npm install
  2. Set the GEMINI_API_KEY in .env.local to your Gemini API key
  3. Run the app: npm run dev