How anas-694/pdf-read-tool works
This repository provides a PDF financial-report analyzer with both a Streamlit interface and a command-line runner. The main workflow accepts a PDF, extracts page text, asks Gemini to analyze it, consolidates results in the interactive app, and produces a formatted Word report. The report-design module supplies reusable document elements. The README is empty; the graph reflects the shown source and does not infer additional capabilities from unsampled sections.
Main entry points: app.py Interactive Analyzer · main.py Command-Line Runner · summary_design.py Document Design Helpers
Components 14
User Entry
- Interactive Analyzer
app.py - Command-Line Runner
main.py
PDF Analysis
- PDF Input
app.py - Page Text Extraction
app.py - Page Analysis
app.py - Executive Summary
app.py - CLI Page Analysis
main.py
Report Output
- Word Report Builder
app.py - Markdown Formatting
app.py - Document Design Helpers
summary_design.py - Word Document
- CLI Word Builder
main.py
Other components
- PDF User
- Gemini API
Connections 18
- PDF User → Interactive Analyzer: uploads PDF
app.py - Interactive Analyzer → PDF Input: reads upload
app.py - PDF Input → Page Text Extraction: opens PDF
app.py - Page Text Extraction → Page Analysis: provides page text
app.py - Page Analysis → Gemini API: requests analysis
app.py - Interactive Analyzer → Executive Summary: requests final summary
app.py - Executive Summary → Gemini API: requests summary
app.py - Interactive Analyzer → Word Report Builder: builds report
app.py - Word Report Builder → Markdown Formatting: formats summary
app.py - Markdown Formatting → Document Design Helpers: renders tables and headings
app.py - Word Report Builder → Document Design Helpers: adds report elements
app.py - Word Report Builder → Word Document: saves document
app.py - PDF User → Command-Line Runner: provides PDF path
main.py - Command-Line Runner → Page Text Extraction: extracts page text
main.py - Command-Line Runner → CLI Page Analysis: analyzes each page
main.py - CLI Page Analysis → Gemini API: requests analysis
main.py - Command-Line Runner → CLI Word Builder: builds report
main.py - CLI Word Builder → Word Document: saves document
main.py