Metadata-Version: 2.4
Name: pdflinkcheck
Version: 1.5.15
Summary: A purpose-built PDF link analysis and reporting tool with GUI and CLI.
Author-email: George Clayton Bennett <george.bennett@memphistn.gov>
Maintainer-email: George Clayton Bennett <george.bennett@memphistn.gov>
License-Expression: MIT
Project-URL: Homepage, https://github.com/city-of-memphis-wastewater/pdflinkcheck
Project-URL: Repository, https://github.com/city-of-memphis-wastewater/pdflinkcheck
Project-URL: Issues, https://github.com/city-of-memphis-wastewater/pdflinkcheck/issues
Project-URL: Changelog, https://raw.githubusercontent.com/city-of-memphis-wastewater/pdflinkcheck/main/docs/CHANGELOG.md
Keywords: pdf,links,analysis,validation,audit,cli,gui,pymupdf,pypdf,pdfium,document-processing
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
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: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Other Audience
Classifier: Topic :: File Formats
Classifier: Topic :: Office/Business
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Environment :: Console
Classifier: Environment :: MacOS X
Classifier: Environment :: Win32 (MS Windows)
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pyhabitat>=1.3.9
Requires-Dist: pypdf>=6.4.2
Requires-Dist: rich>=14.2.0
Requires-Dist: typer>=0.20.0
Requires-Dist: typer-helptree>=0.2.11
Requires-Dist: click>=8.1.8
Provides-Extra: pymupdf
Requires-Dist: pymupdf<2.0.0,>=1.24.0; extra == "pymupdf"
Provides-Extra: pdfium
Requires-Dist: pypdfium2<6.0.0,>=5.2.0; extra == "pdfium"
Dynamic: license-file

# PDFLinkCheck

PDFLinkCheck validates hyperlinks and navigation destinations inside PDF documents. It is available as a Python library, command-line tool, and desktop GUI.

## Metadata

**Type:** Python library + CLI + GUI

**Primary purpose:** Validate hyperlinks and navigation inside PDF documents.

**Input:** PDF files

**Output:** Link validation reports, in JSON, XLSX, and TXT.

**Platforms:** Windows, Linux, macOS

**Python:** 3.9+

## Features

PDFLinkCheck analyzes PDF files for:

- External web links (`http`, `https`)
- Internal PDF destinations (`GoTo`)
- External PDF destinations (`GoToR`)
- Broken and unresolved references
- Link inventory and reporting

Designed for documentation QA, publishing pipelines, engineering document control, and automated validation.


## Install

CLI application:

```bash
pipx install "pdflinkcheck[pdfium]"
```

Python library:

```bash
pip install "pdflinkcheck[pdfium]"
```

## Quick Start

GUI

```bash
pdflinkcheck gui
```

CLI

```bash
pdflinkcheck analyze document.pdf
```

Web App

```bash
pdflinkcheck --debug serve
```

Library usage

```python
import pdflinkcheck

# Script pdf analysis and export handling ...
```

## Documentation

Documentation:

https://city-of-memphis-wastewater.github.io/pdflinkcheck/

## CLI

```bash
pdflinkcheck helptree
```

<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/pdflinkcheck/main/assets/pdflinkcheck_v1.5.15_helptree.svg" width="100%" alt="SVG of the pdflinkcheck CLI helptree">
</p>

## Screenshot

<p align="center">
<img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/pdflinkcheck/main/assets/pdflinkcheck_gui_v1.3.3.png" width="900">
</p>

## License

MIT
