C# WinForms PDF Annotation Tool: Interactive Rectangle Drawing & JSON Persistence
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.
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.
Related categories:
.NET
C# Programming
PDF
WPF
Software Development
JSON
Software Engineering
Desktop Application