Metadata-Version: 2.4
Name: PyPDFForm-reducto
Version: 3.8.2.3
Summary: The Python library for PDF forms. Forked and maintained by Reducto AI.
Author: Jinge Li
Maintainer-email: Reducto AI <support@reducto.ai>
License-Expression: MIT
Project-URL: Homepage, https://github.com/reductoai/PyPDFForm-reducto
Project-URL: Documentation, https://github.com/reductoai/PyPDFForm-reducto
Project-URL: Website, https://reducto.ai
Project-URL: Original Project, https://github.com/chinapandaman/PyPDFForm
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=45.0.0
Requires-Dist: fonttools<5.0.0,>=4.60.1
Requires-Dist: pikepdf>=9.4.2
Requires-Dist: pillow<13.0.0,>=12.0.0
Requires-Dist: pypdf<7.0.0,>=6.3.0
Requires-Dist: reportlab<5.0.0,>=4.4.5
Provides-Extra: dev
Requires-Dist: black<26.0.0,>=25.11.0; extra == "dev"
Requires-Dist: coverage<8.0.0,>=7.12.0; extra == "dev"
Requires-Dist: isort<8.0.0,>=7.0.0; extra == "dev"
Requires-Dist: jsonschema<5.0.0,>=4.25.1; extra == "dev"
Requires-Dist: mkdocs<2.0.0,>=1.6.1; extra == "dev"
Requires-Dist: pudb<2026.0.0,>=2025.1.3; extra == "dev"
Requires-Dist: pylint<5.0.0,>=4.0.3; extra == "dev"
Requires-Dist: pyright<2.0.0,>=1.1.407; extra == "dev"
Requires-Dist: pytest<10.0.0,>=9.0.1; extra == "dev"
Requires-Dist: requests<3.0.0,>=2.32.5; extra == "dev"
Requires-Dist: ruff<1.0.0,>=0.14.6; extra == "dev"
Dynamic: license-file

<p align="center"><img src="https://github.com/chinapandaman/PyPDFForm/raw/master/docs/img/logo.png"></p>
<p align="center">
    <em>PDF Form Automation Simplified – Create, Merge, Style, and Fill Forms Programmatically.</em>
</p>
<p align="center">
    <a href="https://pypi.org/project/PyPDFForm/"><img src="https://img.shields.io/pypi/v/pypdfform?label=version&color=magenta"></a>
    <a href="https://chinapandaman.github.io/PyPDFForm/"><img src="https://img.shields.io/github/v/release/chinapandaman/pypdfform?label=docs&color=cyan"></a>
    <a href="https://github.com/chinapandaman/PyPDFForm/actions/workflows/python-package.yml"><img src="https://img.shields.io/badge/coverage-100%25-green"></a>
    <a href="https://github.com/chinapandaman/PyPDFForm/raw/master/LICENSE"><img src="https://img.shields.io/github/license/chinapandaman/pypdfform?label=license&color=orange"></a>
    <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/pypi/pyversions/pypdfform?label=python&color=gold"></a>
    <a href="https://pepy.tech/projects/pypdfform"><img src="https://static.pepy.tech/badge/pypdfform/month"></a>
</p>

## Important Announcement

Hello fellow Python developers!

Please read [this article](https://chinapandaman.github.io/PyPDFForm/news/2025-11-22/) about the upcoming v4.0.0 release and official deprecations of some old APIs.

Happy hacking!

## Introduction

> **Note:** This is a fork of [PyPDFForm](https://github.com/chinapandaman/PyPDFForm) maintained by [Reducto AI](https://reducto.ai).

PyPDFForm is a free and open source pure-Python 3 library for PDF form processing. It contains the essential
functionalities needed to interact with PDF forms:

* Inspect what data a PDF form needs to be filled with.
* Fill a PDF form by simply creating a Python dictionary.
* Create form fields on a PDF.

It also supports other common utilities such as extracting pages and merging multiple PDFs together.

## Installing

Install using [pip](https://pypi.org/project/PyPDFForm/):

```shell script
pip install PyPDFForm-reducto
```

## Quick Example
![Check out the GitHub repository for a live demo if you can't see it here.](https://github.com/chinapandaman/PyPDFForm/raw/master/docs/img/demo.gif)

A sample PDF form can be found [here](https://chinapandaman.github.io/PyPDFForm/pdfs/sample_template.pdf). Download it and try:

```python
from PyPDFForm import PdfWrapper

filled = PdfWrapper("sample_template.pdf", need_appearances=True).fill(
    {
        "test": "test_1",
        "check": True,
        "test_2": "test_2",
        "check_2": False,
        "test_3": "test_3",
        "check_3": True,
    },
)

filled.write("output.pdf")
```

After running the above code snippet you can find `output.pdf` at the location you specified, 
and it should look like [this](https://chinapandaman.github.io/PyPDFForm/pdfs/sample_filled.pdf).

## Documentation

The official documentation can be found on [the GitHub page](https://chinapandaman.github.io/PyPDFForm/) of this repository.

## Other Resources

[Chicago Python User Group - Dec 14, 2023](https://youtu.be/8t1RdAKwr9w?si=TLgumBNXv9H8szSn)
