private static void ExtractWidgetAnnot(PdfWidgetAnnot widget, JObject node, DataType data_types)
        {
            var form_field = widget.GetFormField();

            if (form_field != null)
            {
                node.Add("field_name", form_field.GetFullName());
                PdfFieldType field_type = PdfFieldType.kFieldUnknown;
                switch (field_type)
                {
                case PdfFieldType.kFieldButton:
                    node.Add("field_type", "button");
                    break;

                case PdfFieldType.kFieldText:
                    node.Add("field_type", "text");
                    break;

                case PdfFieldType.kFieldCombo:
                    node.Add("field_type", "dropdown");
                    break;

                case PdfFieldType.kFieldCheck:
                    node.Add("field_type", "checkbox");
                    break;

                case PdfFieldType.kFieldRadio:
                    node.Add("field_type", "radio");
                    break;

                case PdfFieldType.kFieldList:
                    node.Add("field_type", "list");
                    break;

                case PdfFieldType.kFieldSignature:
                    node.Add("field_type", "signature");
                    break;

                default:
                    break;
                }
            }
            else
            {
                node.Add("field_type", "invalid");
            }
        }
Esempio n. 2
0
        private static void GetFormFieldProperties(PdfPage page, PdfWidgetAnnot widget, PdfFormField field)
        {
            Console.WriteLine("===========================================");
            if (field != null)
            {
                Console.WriteLine("Name: " + field.GetFullName());
                Console.WriteLine("Value: " + field.GetValue());
                Console.WriteLine("Tooltip: " + field.GetTooltip());
                string options = "";
                for (int i = 0; i < field.GetNumOptions(); i++)
                {
                    options += field.GetOptionValue(i) + " | ";
                }
                Console.WriteLine("Options: " + options);
                Console.WriteLine("MaxLength: " + field.GetMaxLength());
                Console.WriteLine("Multiline: " + (field.GetFlags() & Pdfix.kFieldFlagMultiline).ToString());
                Console.WriteLine("IsFormatted: " + (field.GetAAction(PdfActionEventType.kActionEventFieldFormat) != null).ToString());
                Console.WriteLine("Required: " + ((field.GetFlags() & Pdfix.kFieldFlagRequired).ToString()).ToString());
                Console.WriteLine("ReadOnly: " + ((field.GetFlags() & Pdfix.kFieldFlagReadOnly).ToString()).ToString());
                Console.WriteLine("IsFormatted: " + (field.GetAAction(PdfActionEventType.kActionEventFieldCalculate) != null).ToString());
                Console.WriteLine("IsChecked: " + (field.GetValue() == field.GetWidgetExportValue(widget)).ToString());
                Console.WriteLine("FieldType: " + field.GetType().ToString());
            }

            if (page != null && widget != null)
            {
                // widget specific properties
                var bbox      = widget.GetBBox();
                var page_view = page.AcquirePageView(1, PdfRotate.kRotate0);
                var rect      = page_view.RectToDevice(bbox);
                page_view.Release();

                // calculate widget annot position in % of the page width
                var left   = (double)rect.left / (double)page_view.GetDeviceWidth();
                var top    = (double)rect.top / (double)page_view.GetDeviceHeight();
                var width  = (double)(rect.right - rect.left) / (double)page_view.GetDeviceWidth();
                var height = (double)(rect.bottom - rect.top) / (double)page_view.GetDeviceHeight();

                Console.WriteLine("TabOrder: " + (_tabOrder++).ToString());
                Console.WriteLine("Left: " + left.ToString() + ", Top: " + top.ToString());
                Console.WriteLine("Width: " + width.ToString() + ", Height: " + height.ToString());
            }
        }
Esempio n. 3
0
        private static void GetWidgetAnnotProperties(PdfPage page, PdfWidgetAnnot widget)
        {
            var formField = widget.GetFormField();

            GetFormFieldProperties(page, widget, widget.GetFormField());
        }