pdf-association / pdf-issues

Industry-based resolutions for issues and errata reported against any PDF-related specification
https://pdf-issues.pdfa.org/
63 stars 2 forks source link

Proposal for Adding Curve Annotation Support (with Measurement Attributes) in PDF Annotations #456

Open AmyLin2013 opened 1 month ago

AmyLin2013 commented 1 month ago

Introduction: In the field of engineering and architecture, there is a significant demand for the ability to annotate curves and include measurement attributes in PDF documents. This proposal aims to address this need by suggesting enhancements to the PDF annotation capabilities. Proposal: Curve Annotation Support: Add support for curve annotations in PDF. This includes the ability to annotate curves using control points and Bezier curves. Ensure that the curve annotation supports all standard annotation properties, including appearance, styling, and text annotations. Measurement Attributes: Introduce measurement attributes for curve annotations. These attributes should allow users to measure lengths along curves. Provide clear definitions and guidelines on how these measurements should be calculated and displayed to ensure consistency across different implementations. Introduce measurement attributes for curve annotations. These attributes should allow users to measure lengths, areas, and angles along curves. Provide clear definitions and guidelines on how these measurements should be calculated and displayed to ensure consistency across different implementations. Caption Support (Cap and CP Entries): Add Cap and CP entries to curve annotations to support captions. The CP (Caption Position) key should include options for positioning the caption text inside the curve, at the start, end, or at specific points along the curve. Suggested CP values could include Inline (centered along the curve), Start, End, and Custom (user-defined position). Consideration of CO Entry:

Include the CO (Caption Offset) entry from Table 178 (Line annotations) for curve annotations. Define how the CO entry should work in conjunction with curves, ensuring the caption text is clearly and consistently positioned. Implementation Details: Define how control points and Bezier curves should be represented and stored within the PDF annotation dictionary. Provide detailed documentation and examples to guide developers on implementing curve annotations and measurement attributes. Consider potential challenges in rendering and interacting with curve annotations and address them in the specification. Conclusion: Adding support for curve annotations and measurement attributes in PDF annotations will greatly benefit the engineering and architecture fields. It will enhance the ability to document, review, and measure complex designs directly within PDF documents. This proposal aims to meet these needs and ensure a consistent and reliable implementation across different PDF processing tools. Below is an example screenshot of the curve annotation with measurement attributes that I am expecting. image

petervwyatt commented 1 month ago

Need to also consider how text is positioned along the curved paths a-la SVG's method and spacing attributes - especially at corners and with tight radii. https://svgwg.org/svg2-draft/text.html#TextPathElement