agentsclimarketplace

Pdf form filling

Skill cxcscmu/SkillLearnBench/skills/b1-one-shot-gemini-3-flash-preview/court-form-filling/pdf-form-filling

Methods for programmatically filling PDF forms (AcroForms) and saving the results using pypdf.From its SKILL.md

Install
npx -y skills add cxcscmu/SkillLearnBench --skill pdf-form-filling

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.8 KB, 409 tokens by cl100k_base, as published. Nobody here has run it

PDF Form Filling Skill

This skill covers how to fill out AcroForms in a PDF document using pypdf.

Prerequisites

  • Python 3.x
  • pypdf library (pip install pypdf)

Usage Patterns

Filling Text Fields and Checkboxes

from pypdf import PdfReader, PdfWriter

def fill_pdf(input_pdf_path, output_pdf_path, data_dict):
    reader = PdfReader(input_pdf_path)
    writer = PdfWriter()

    for page in reader.pages:
        writer.add_page(page)

    # Fill form fields
    writer.update_page_form_field_values(writer.pages[0], data_dict)
    
    # Note: If fields span multiple pages, you might need to iterate 
    # through writer.pages and apply relevant parts of data_dict.
    # However, writer.update_page_form_field_values can often find the fields
    # globally if they are properly indexed.

    with open(output_pdf_path, "wb") as output_stream:
        writer.write(output_stream)

# Example data_dict
# For text fields: {"field_name": "Value"}
# For checkboxes: {"checkbox_name": "/Yes"} or similar
data = {
    "full_name": "John Doe",
    "is_citizen": "/Yes"
}

fill_pdf("blank.pdf", "filled.pdf", data)

Important Considerations

  1. Field Naming: Use the full hierarchical name found during inspection (e.g., SC-100[0].Page1[0].Field[0]).
  2. Appearance Streams: Some PDF readers might not show the filled value until you click on the field unless /NeedAppearances is set to true in the PDF's Interactive Form Dictionary. pypdf handles basic filling, but complex forms might need flattening or specific appearance settings.
  3. Checkboxes: Checkbox values are typically /Yes (or other export value) and /Off.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.