Delivery instrument 01Local / no upload

Know the PDF is right before they open it.

A local CLI that compares your Markdown with the file you’re about to send—then checks the parts long exports quietly lose.

Your documents never leave your machine.

From source manuscript to inspected delivery file.

Current reading

One command. An auditable result.

 pdfcheck report.md report.pdf --report preflight.html
02 errors01 warning1 exit

Inspection circuit

Six independent failures. One delivery gate.

Conversion success only means a file exists. Preflight asks whether it still works.

  1. 01

    Outline & targets

    Matches Markdown headings against PDF bookmarks and resolves source fragments.

    Hard fail
  2. 02

    Clickable links

    Confirms internal destinations and external URI annotations survived. Never fetches URLs.

    Hard fail
  3. 03

    Code overflow

    Flags positioned text runs that extend past the visible page boundary.

    Hard fail
  4. 04

    Empty pages

    Finds pages without text, images, or other painted content.

    Warning
  5. 05

    Page drift

    Compares actual pagination with a baseline and explicit tolerance.

    Hard fail
  6. 06

    PDF metadata

    Reads the output file’s title, author, dates, subject, and keywords.

    Selectable

Source-side test bench

Try the first half of a preflight.

Paste Markdown or load a .md file. This browser demo checks heading fragments and suspiciously long code; the CLI adds definitive PDF inspection. Nothing is uploaded.

Drop a Markdown file here, or use the sample. Maximum 10 MB.

No PDF selected

Bench ready

Load or paste a source, then run the local scan.

Open local core · v0.1.0

Put preflight beside your exporter.

One Rust binary. No daemon, browser automation, account, telemetry, or network client.

Read the source and full usage →
Terminalrust stable
cargo install --git https://github.com/B-Divyesh/sf-long-markdown-pdf-check