PDF.to.Excel.Trimmed.mp4
A modern web application that extracts data from PDF files and converts it into structured Excel spreadsheets using AI-powered text extraction and processing.
- PDF File Upload: Drag and drop or click to upload PDF files
- AI-Powered Extraction: Uses LlamaParse for accurate text extraction
- Dynamic Schema: Configurable data extraction schema for different document types
- Interactive Table View: Real-time preview of extracted data
- Excel Export: Download extracted data as formatted Excel files
- Field Targeting: Extract specific fields based on custom schema
- Batch Processing: Process multiple documents with the same schema
- Next.js 14+ (App Router)
- React 18
- TypeScript
- Tailwind CSS
- shadcn/ui Components
- Lucide Icons
- Next.js API Routes
- OpenAI GPT-4
- LlamaParse PDF Reader
- XLSX (Excel generation)
- Zod (Schema validation)
Before running the application, make sure you have:
- Node.js 18 or higher installed
- pnpm package manager installed
- OpenAI API key
- LlamaParse API key
Create a .env
file in the root directory with the following variables:
OPENAI_API_KEY=your_openai_api_key
LLAMAPARSE_API_KEY=your_llamaparse_api_key
- Clone the repository:
git clone <repository-url>
cd pdf2excel
- Install dependencies:
pnpm install
- Run the development server:
pnpm dev
- Open http://localhost:3000 in your browser
- Upload PDF: Click the upload area or drag and drop a PDF file
- Configure Schema: Define the fields you want to extract
- Preview Data: View extracted data in the interactive table
- Download Excel: Click the download button to get the Excel file
The application supports two types of fields:
- Simple Fields: Single value fields
{
type: 'field',
name: 'invoiceNumber',
description: 'Invoice number from the document'
}
- Group Fields: Fields containing multiple related values
{
type: 'group',
name: 'address',
fields: {
street: { description: 'Street address' },
city: { description: 'City name' },
zip: { description: 'ZIP code' }
}
}
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details