|
| 1 | +# PDF Interpolator |
| 2 | + |
| 3 | +A desktop application for replacing text in PDF files using data from spreadsheets. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +PDF Interpolator reads a spreadsheet (Excel or CSV) and replaces matching text in a PDF document. You define which columns to use: one column contains the text to find, another contains the replacement text. |
| 8 | + |
| 9 | +The application preserves the original PDF formatting, fonts, and layout while performing the replacements. |
| 10 | + |
| 11 | +## Download |
| 12 | + |
| 13 | +Download the latest version for your operating system from the [releases page](https://github.com/itsbjoern/pdf-interpolator/releases). |
| 14 | + |
| 15 | +**Available for:** |
| 16 | +- Windows (.exe installer) |
| 17 | +- macOS (DMG) |
| 18 | +- Linux (AppImage, snap, deb) |
| 19 | + |
| 20 | +## How to Use |
| 21 | + |
| 22 | +### 1. Select a Spreadsheet |
| 23 | + |
| 24 | +Click "Select Spreadsheet" and choose your Excel or CSV file. If your spreadsheet has multiple sheets, select which ones you want to use. |
| 25 | + |
| 26 | +### 2. Set Up Column Mappings |
| 27 | + |
| 28 | +For each sheet, specify two columns: |
| 29 | +- **Source Column**: Contains the text to search for in the PDF |
| 30 | +- **Target Column**: Contains the replacement text |
| 31 | + |
| 32 | +Example: If your spreadsheet has "Old Name" and "New Name" columns, the app will find each "Old Name" value in the PDF and replace it with the corresponding "New Name" value. |
| 33 | + |
| 34 | +### 3. Select the PDF |
| 35 | + |
| 36 | +Choose the PDF file you want to process. |
| 37 | + |
| 38 | +### 4. Choose Output Location |
| 39 | + |
| 40 | +Select where to save the modified PDF. |
| 41 | + |
| 42 | +### 5. Process |
| 43 | + |
| 44 | +Click "Process PDF" to start. The application will show a detailed results window with: |
| 45 | +- Total matches found |
| 46 | +- Successful replacements |
| 47 | +- Any encoding issues (if characters in your replacement text are not available in the PDF's fonts) |
| 48 | + |
| 49 | +## Requirements |
| 50 | + |
| 51 | +- The spreadsheet must contain at least two columns per sheet (one for finding text, one for replacing) |
| 52 | +- Text matches are case-sensitive |
| 53 | +- Empty cells are skipped |
| 54 | + |
| 55 | +## Known Limitations |
| 56 | + |
| 57 | +- Special characters in replacement text must be available in the PDF's fonts |
| 58 | +- Very large PDFs may take longer to process |
| 59 | +- Text spanning multiple lines or text segments may not be replaced |
| 60 | + |
| 61 | +## Building from Source |
| 62 | + |
| 63 | +```bash |
| 64 | +# Install dependencies |
| 65 | +npm install |
| 66 | + |
| 67 | +# Run in development mode |
| 68 | +npm run dev |
| 69 | + |
| 70 | +# Build for production |
| 71 | +npm run build |
| 72 | + |
| 73 | +# Build platform-specific installers |
| 74 | +npm run build:win # Windows |
| 75 | +npm run build:mac # macOS |
| 76 | +npm run build:linux # Linux |
| 77 | +``` |
0 commit comments