namespace EnvelopeGenerator.ReceiverUI.Models.Constants; /// /// Represents the unit of measurement for coordinate values in signature positioning. /// Used for converting coordinates between different systems (GdPicture14, PDF.js, iText7). /// public enum UnitOfLength { /// /// Inch unit (1 inch = 25.4 mm). /// This is the native unit used by GdPicture14 (EnvelopeGenerator.Form - Legacy VB.NET app). /// Database stores all coordinates (X, Y, Width, Height) in INCHES. /// /// /// Source: GdPicture14.Annotations.AnnotationStickyNote uses INCHES natively. ///
/// Evidence: VB.NET code directly assigns database values to annotation properties without conversion: /// /// oAnnotation.Left = CSng(pElement.X) ' Direct assignment → INCHES /// oAnnotation.Top = CSng(pElement.Y) /// /// Standard Page Dimensions: /// /// A4: 8.27" × 11.69" (210mm × 297mm) /// Letter: 8.5" × 11" /// ///
Inch = 0, /// /// PDF Point unit (1 point = 1/72 inch). /// This is the standard unit used by PDF specification and PDF.js viewer. /// /// /// Definition: According to PDF specification and Microsoft documentation: ///
/// "PDF pages are sized in point units. 1 pt == 1/72 inch" ///

/// Conversion Formula: /// /// points = inches * 72.0 /// inches = points / 72.0 /// /// Important: Point ≠ Pixel! /// /// Point (pt): Device-independent unit (always 1/72 inch) /// Pixel (px): Device-dependent unit (varies with screen DPI) /// At 72 DPI: 1 point = 1 pixel (coincidence) /// At 96 DPI: 1 point ≈ 1.33 pixels /// At 300 DPI: 1 point ≈ 4.17 pixels /// /// Standard Page Dimensions (in points): /// /// A4: 595 × 842 points (8.27" × 11.69" × 72) /// Letter: 612 × 792 points (8.5" × 11" × 72) /// /// Usage in EnvelopeGenerator: /// /// PDF.js viewer expects coordinates in points /// iText7 library uses points for PDF manipulation /// PSPDFKit (Web) uses points for annotation placement /// ///
Point }