C# WinForms PDF Annotation Tool: Interactive Rectangle Drawing & JSON Persistence

Job ID: 40301120

Budget: ₹1,500 – ₹12,500 INR

Overview
I am looking for a C# developer to create a lightweight Windows Desktop Application (.NET Framework 4.8) that allows users to load a PDF, interactively draw rectangles over specific areas, and save those coordinates to a JSON file. The goal is to "map" areas of a PDF for data processing.

Core Requirements
Framework: .NET 4.8 widows applction

PDF Library: PdfPig (preferred)for display a PDF.

UI Elements:

Button 1 (Load): Open a file dialog to select and display a PDF.

Button 2 (Reload/Render): Read coordinates from a JSON file and draw the saved rectangles back onto the PDF viewer.

PDF Viewer Canvas: A workspace where the user can click and drag to draw multiple rectangles.

Functional Logic
Coordinate Mapping: When a user draws a rectangle, the application must convert the screen coordinates (pixels) into the original PDF coordinate system (points).

JSON Serialization: Save the coordinates (X, Y, Width, Height) and an auto-incrementing "Item Number" (Item 1, Item 2, etc.) into a JSON file located in the project folder.

Persistence: Upon clicking Button 2, the app should parse the JSON file and re-render the rectangles accurately over the PDF pages, even if the window has been resized.

Technical Specifics
The JSON structure should look like this:
{"ItemNumber": 1, "X": 100, "Y": 250, "Width": 50, "Height": 20}

Clean, commented code is a must.

Proper handling of PDF scaling (Zoom) so that rectangles remain anchored to the correct PDF content.