pdf-text-replace
npx machina-cli add skill instavm/coderunner/pdf-text-replace --openclawPDF Text Replace Skill
Replace text in fillable PDF forms by updating form field values.
Description
This skill allows you to search and replace text in PDF files that have fillable form fields. It scans all form fields in the PDF, finds fields containing the search text, and replaces it with the replacement text.
Use Cases
- Update names in filled tax forms
- Replace addresses in PDF documents
- Update dates or reference numbers
- Batch update form field values
Requirements
- PDF must have fillable form fields (not flattened)
- Python 3.7+
- pypdf library
Usage
Basic Usage
python /app/uploads/skills/public/pdf-text-replace/scripts/replace_text_in_pdf.py \
/app/uploads/input.pdf \
"OLD TEXT" \
"NEW TEXT" \
/app/uploads/output.pdf
Example: Replace Name in Tax Form
python /app/uploads/skills/public/pdf-text-replace/scripts/replace_text_in_pdf.py \
/app/uploads/f5472.pdf \
"MANISH KUMAR" \
"MANNU KUMAR" \
/app/uploads/f5472_updated.pdf
Script Details
Script: scripts/replace_text_in_pdf.py
Arguments:
input_pdf- Path to input PDF filesearch_text- Text to search for in form fieldsreplace_text- Text to replace withoutput_pdf- Path to save the updated PDF
Output:
- Creates a new PDF with updated field values
- Preserves all form fields (not flattened)
- Reports number of fields modified
Limitations
- Only works with fillable PDF forms (not scanned/image PDFs)
- Replaces text in form field values, not static text
- Case-sensitive search by default
- Cannot modify flattened PDFs
Dependencies
The script requires the pypdf library, which is included in the container requirements.
Error Handling
The script will report errors if:
- Input PDF doesn't exist
- PDF doesn't have fillable form fields
- Search text is not found
- Output path is not writable
Source
git clone https://github.com/instavm/coderunner/blob/main/skills/public/pdf-text-replace/SKILL.mdView on GitHub Overview
PDF-text-replace searches fillable form fields for a target string and replaces it with a new value. It preserves the form structure while updating only field values, making it ideal for correcting names, addresses, dates, or IDs.
How This Skill Works
Using the pypdf library, the tool loads the input PDF, iterates over all form fields, and updates any field whose value contains the search text with the replacement text. It then writes a new PDF with the updated field values while keeping all fields intact.
When to Use It
- Update names in filled tax forms without altering the layout
- Replace addresses in PDFs that use fillable form fields
- Update dates or reference numbers across one or multiple forms
- Batch update form field values across several documents
- Preserve all form fields while making value changes to meet compliance
Quick Start
- Step 1: Ensure Python 3.7+ is installed and pypdf is available
- Step 2: Run the script with input_pdf, search_text, replace_text, and output_pdf
- Step 3: Open output.pdf to verify updated form fields and review changes
Best Practices
- Ensure the PDF has fillable form fields and is not flattened before running
- Use Python 3.7+ and have the pypdf library installed
- Test on a copy of the PDF to confirm only form field values change
- Be aware that search is case-sensitive by default; match exact text
- Verify the output path is writable and review how many fields were modified
Example Use Cases
- Update taxpayer name on a filled tax form from MANISH KUMAR to MANNU KUMAR
- Replace a client address in a lease agreement PDF that uses form fields
- Change a contract date across a multi-page form without altering layout
- Batch update identifiers across multiple submission forms in a folder
- Modify a reference number on a grant application while preserving static text