Пример #1
0
        public static void Main(string[] args)
        {
            var    element = new SpanElement("Here I am. This is me.");
            string html    = element.AddNode(new SpanElement("inner")).AddNode(new ItalicElement("LOL!")).ToHtml();

            Console.WriteLine(html);
        }
        public static void Run()
        {
            // ExStart:CreateStructureElements
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

            // Create Pdf Document
            Document document = new Document();

            // Get Content for work with TaggedPdf
            ITaggedContent taggedContent = document.TaggedContent;

            // Set Title and Language for Documnet
            taggedContent.SetTitle("Tagged Pdf Document");
            taggedContent.SetLanguage("en-US");

            // Create Grouping Elements
            PartElement       partElement       = taggedContent.CreatePartElement();
            ArtElement        artElement        = taggedContent.CreateArtElement();
            SectElement       sectElement       = taggedContent.CreateSectElement();
            DivElement        divElement        = taggedContent.CreateDivElement();
            BlockQuoteElement blockQuoteElement = taggedContent.CreateBlockQuoteElement();
            CaptionElement    captionElement    = taggedContent.CreateCaptionElement();
            TOCElement        tocElement        = taggedContent.CreateTOCElement();
            TOCIElement       tociElement       = taggedContent.CreateTOCIElement();
            IndexElement      indexElement      = taggedContent.CreateIndexElement();
            NonStructElement  nonStructElement  = taggedContent.CreateNonStructElement();
            PrivateElement    privateElement    = taggedContent.CreatePrivateElement();

            // Create Text Block-Level Structure Elements
            ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
            HeaderElement    headerElement    = taggedContent.CreateHeaderElement();
            HeaderElement    h1Element        = taggedContent.CreateHeaderElement(1);

            // Create Text Inline-Level Structure Elements
            SpanElement  spanElement  = taggedContent.CreateSpanElement();
            QuoteElement quoteElement = taggedContent.CreateQuoteElement();
            NoteElement  noteElement  = taggedContent.CreateNoteElement();

            // Create Illustration Structure Elements
            FigureElement  figureElement  = taggedContent.CreateFigureElement();
            FormulaElement formulaElement = taggedContent.CreateFormulaElement();

            // Methods are under development
            ListElement      listElement      = taggedContent.CreateListElement();
            TableElement     tableElement     = taggedContent.CreateTableElement();
            ReferenceElement referenceElement = taggedContent.CreateReferenceElement();
            BibEntryElement  bibEntryElement  = taggedContent.CreateBibEntryElement();
            CodeElement      codeElement      = taggedContent.CreateCodeElement();
            LinkElement      linkElement      = taggedContent.CreateLinkElement();
            AnnotElement     annotElement     = taggedContent.CreateAnnotElement();
            RubyElement      rubyElement      = taggedContent.CreateRubyElement();
            WarichuElement   warichuElement   = taggedContent.CreateWarichuElement();
            FormElement      formElement      = taggedContent.CreateFormElement();

            // Save Tagged Pdf Document
            document.Save(dataDir + "StructureElements.pdf");
            // ExEnd:CreateStructureElements
        }
Пример #3
0
        /// <summary>
        /// This function determines the format of the contents of the entry
        /// point where the dynamic code will be injected.
        /// </summary>
        /// <returns></returns>
        public static object dynMehTemplate()
        {
            var span = new SpanElement();

            span.SetNGController("hwbctl");
            span.InnerHTML = "AJS says by directive: [{{message}}]";
            return(new { template = span.OuterHTML });
        }
Пример #4
0
        public static object ThreeWayFunction()
        {
            var span = new SpanElement();

            span.SetNGController("hwbSctl");
            span.InnerHTML = "AJS for three scopined: " +
                             "[msg:{{message}}][foo:{{foo}}][bar:{{bar}}]";
            return(new { template = span.OuterHTML });
        }
Пример #5
0
        public static void Run()
        {
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
            string inFile  = dataDir + "TH.pdf";
            string outFile = dataDir + "TH_out.pdf";
            string logFile = dataDir + "TH_out.xml";

            // Open document
            Document document = new Document(inFile);

            // Gets tagged content and root structure element
            ITaggedContent   taggedContent = document.TaggedContent;
            StructureElement rootElement   = taggedContent.RootElement;

            // Set title for tagged pdf document
            taggedContent.SetTitle("Document with images");

            foreach (FigureElement figureElement in rootElement.FindElements <FigureElement>(true))
            {
                // Set Alternative Text  for Figure
                figureElement.AlternativeText = "Figure alternative text (technique 2)";


                // Create and Set BBox Attribute
                StructureAttribute bboxAttribute = new StructureAttribute(AttributeKey.BBox);
                bboxAttribute.SetRectangleValue(new Rectangle(0.0, 0.0, 100.0, 100.0));

                StructureAttributes figureLayoutAttributes = figureElement.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
                figureLayoutAttributes.SetAttribute(bboxAttribute);
            }

            // Move Span Element into Paragraph (find wrong span and paragraph in first TD)
            TableElement     tableElement   = rootElement.FindElements <TableElement>(true)[0];
            SpanElement      spanElement    = tableElement.FindElements <SpanElement>(true)[0];
            TableTDElement   firstTdElement = tableElement.FindElements <TableTDElement>(true)[0];
            ParagraphElement paragraph      = firstTdElement.FindElements <ParagraphElement>(true)[0];

            // Move Span Element into Paragraph
            spanElement.ChangeParentElement(paragraph);


            // Save document
            document.Save(outFile);



            // Checking PDF/UA Compliance for out document
            document = new Document(outFile);

            bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);

            Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));
        }
Пример #6
0
        public static void UpdateControls()
        {
            Console.Log("Checkpoint Zebra: [rdy] nothing at this point will " +
                        "like AngularJS.");

            var lbl = new SpanElement()
            {
                InnerHTML = "We have Bridge script " +
                            "running."
            };

            Document.Body.AppendChild(lbl);
        }
Пример #7
0
        public void Validate_Html_Tree_Returns_Non_Empty_String()
        {
            //Arrange
            const string Expected = "<span>Here I am. This is me.<span>inner</span><span>LOL!</span></span>";

            var element = new SpanElement("Here I am. This is me.");

            //Act
            string html = element.AddNode(new SpanElement("inner")).AddNode(new SpanElement("LOL!")).ToHtml();

            //Assert
            Assert.NotNull(element);
            Assert.Equal(Expected, html);
        }
Пример #8
0
        public void SpanElement_New_Instance_Should_Produce_Correct_Tag()
        {
            //Arrange
            const string Tag = "span";

            var element = new SpanElement("Here I am. This is me.");

            //Act
            string tag = element.Tag;

            //Assert
            Assert.NotNull(element);
            Assert.Equal(Tag, element.Tag);
        }
Пример #9
0
        public static Element[] CreateDateTimeField()
        {
            var label = new LabelElement
            {
                HtmlFor   = "dateTimeInput",
                InnerHTML = "Server Date and Time:"
            };

            var div = new DivElement
            {
                ClassName = "input-group"
            };

            var spanPrefix = new SpanElement
            {
                ClassName = "input-group-addon glyphicon glyphicon-time"
            };

            var spanSuffix = new SpanElement
            {
                ClassName = "input-group-btn"
            };

            var button = new ButtonElement
            {
                Type      = ButtonType.Button,
                ClassName = "btn btn-primary",
                InnerHTML = "<span class=\"glyphicon glyphicon-refresh\"></span>",
                OnClick   = Html5App.UpdateButton_Click
            };

            var input = new InputElement
            {
                Id          = "dateTimeInput",
                Type        = InputType.Text,
                ClassName   = "form-control",
                Placeholder = "Click update...",
                ReadOnly    = true,
                Name        = "datetime"
            };

            spanSuffix.AppendChild(button);

            div.AppendChild(spanPrefix);
            div.AppendChild(input);
            div.AppendChild(spanSuffix);

            return(new Element[] { label, div });
        }
Пример #10
0
        public static DivElement CreateFormField(string name, string glyph)
        {
            var div = new DivElement
            {
                ClassName = "input-group",
                Style     =
                {
                    MarginBottom = "10px"
                }
            };

            var span = new SpanElement
            {
                ClassName = "glyphicon glyphicon-" + glyph + " input-group-addon"
            };

            Element input;
            var     placeholder = name + "...";

            if (name == "Message")
            {
                input = new TextAreaElement
                {
                    Name        = name.ToLowerCase(),
                    Placeholder = placeholder,
                    Required    = true,
                    ClassName   = "form-control"
                };
            }
            else
            {
                input = new InputElement
                {
                    Type        = InputType.Text,
                    Name        = name.ToLowerCase(),
                    Placeholder = placeholder,
                    Required    = true,
                    ClassName   = "form-control"
                };
            }

            div.AppendChild(span);
            div.AppendChild(input);

            return(div);
        }
Пример #11
0
        public static Element GetRepeatRegion()
        {
            var itemsSpan = new SpanElement();

            itemsSpan.InnerHTML = "Checkpoint";
            var itemsPara = new ParagraphElement();

            itemsPara.InnerHTML = "{{checkpoint.callsign}}[{{checkpoint.id}}]";

            var itemsLI = new LIElement();

            itemsLI.SetNGRepeat("checkpoint", "checkpoints");
            itemsLI.AppendChild(itemsSpan);
            itemsLI.AppendChild(itemsPara);

            var itemsUL = new UListElement();

            itemsUL.AppendChild(itemsLI);

            var itemsSubSpan = new SpanElement()
            {
                InnerHTML = "[{{checkpoint.callsign}}.{{checkpoint.id}}] "
            };

            var itemsSearchBox = new InputElement();

            itemsSearchBox.SetNGModel("cpFilter");

            var itemsOrderSelector = GetOrderBySelector("cpOrderBy");

            itemsSubSpan.SetNGRepeat("checkpoint", "checkpoints",
                                     itemsSearchBox.GetNGModel(), itemsOrderSelector.GetNGModel());

            var itemsDiv = new DivElement();

            itemsDiv.SetNGController("hwbSctl");
            itemsDiv.AppendChild(itemsUL);
            itemsDiv.AppendChild(itemsSearchBox);
            itemsDiv.AppendChild(itemsOrderSelector);
            itemsDiv.AppendChild(itemsSubSpan);

            return(itemsDiv);
        }
Пример #12
0
        // 確認登入
        private bool AccIsLogin()
        {
            HtmlElementCollection elementlist;

            CheckLoginCount++;
            try
            {
                JObject LinqSearchOrder = JObject.Parse(orderDataJson); // {} 物件json LINQ查詢

                elementlist = webBrowser1.Document.GetElementsByTagName("span");
                foreach (HtmlElement SpanElement in elementlist)
                {
                    if (SpanElement.GetAttribute("classname").ToString() == "cyan")
                    {
                        //order_log 紀錄登入成功
                        OrderLogSave(Int32.Parse(LinqSearchOrder["order_id"].ToString()), Int32.Parse(LinqSearchOrder["id"].ToString()), "登入成功");
                        richTextBox1.AppendText("登入檢查,登入成功!\n");
                        return(true);
                    }
                }

                webBrowser1.Navigate("http://140.130.28.17/online_test/word_examine/custom_home.asp");
                richTextBox1.AppendText("登入檢查,登入錯誤!\n");
                type  = 0;
                count = 0;

                //登入失敗,訂單狀態-1(失敗),單字量(0)
                ChangeOrderInfoStatus(Int32.Parse(LinqSearchOrder["id"].ToString()), 0, -1, 0);

                //order_log 紀錄登入失敗
                OrderLogSave(Int32.Parse(LinqSearchOrder["order_id"].ToString()), Int32.Parse(LinqSearchOrder["id"].ToString()), "登入失敗(帳號或密碼錯誤)");

                return(false);
            }
            catch (Exception ex)
            {
                richTextBox1.AppendText("登入檢查,無法取得服務\n");
                webBrowser1.Navigate("http://140.130.28.17/logout.asp");
                repeat = true;
                return(false);
            }
        }
Пример #13
0
        public static void DefineNiceController()
        {
            AngularJSDemo.hwbApp.Controller <ControllerDataObjectStructure>
                ("hwcSctl", CtlFunction);

            var ctlDiv = new DivElement();

            ctlDiv.SetNGController("hwcSctl");
            Document.Body.AppendChild(ctlDiv);

            var fltFld = new InputElement();

            fltFld.SetNGModel("hwcFlt");
            ctlDiv.AppendChild(fltFld);

            var ordFld = new SelectElement();

            ordFld.SetNGModel("hwcOrderBy");
            ordFld.Add(new OptionElement()
            {
                Value     = "Checkpoint",
                InnerHTML = "Alphabetically"
            });
            ordFld.Add(new OptionElement()
            {
                Value     = "id",
                InnerHTML = "Series ID"
            });
            ctlDiv.AppendChild(ordFld);

            var rptSpan = new SpanElement();

            rptSpan.SetNGRepeat("checkpoint", "checkpoints", fltFld.GetNGModel(),
                                ordFld.GetNGModel());
            rptSpan.InnerHTML = "{{checkpoint.callsign}}[{{checkpoint.id}}] ";
            ctlDiv.AppendChild(rptSpan);
        }
Пример #14
0
        public static void Run()
        {
            // ExStart:InlineStructureElements
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

            // Create Pdf Document
            Document document = new Document();

            // Get Content for work with TaggedPdf
            ITaggedContent taggedContent = document.TaggedContent;

            // Set Title and Language for Documnet
            taggedContent.SetTitle("Tagged Pdf Document");
            taggedContent.SetLanguage("en-US");

            // Get Root Structure Element
            StructureElement rootElement = taggedContent.RootElement;

            HeaderElement h1 = taggedContent.CreateHeaderElement(1);
            HeaderElement h2 = taggedContent.CreateHeaderElement(2);
            HeaderElement h3 = taggedContent.CreateHeaderElement(3);
            HeaderElement h4 = taggedContent.CreateHeaderElement(4);
            HeaderElement h5 = taggedContent.CreateHeaderElement(5);
            HeaderElement h6 = taggedContent.CreateHeaderElement(6);

            rootElement.AppendChild(h1);
            rootElement.AppendChild(h2);
            rootElement.AppendChild(h3);
            rootElement.AppendChild(h4);
            rootElement.AppendChild(h5);
            rootElement.AppendChild(h6);

            SpanElement spanH11 = taggedContent.CreateSpanElement();

            spanH11.SetText("H1. ");
            h1.AppendChild(spanH11);
            SpanElement spanH12 = taggedContent.CreateSpanElement();

            spanH12.SetText("Level 1 Header");
            h1.AppendChild(spanH12);

            SpanElement spanH21 = taggedContent.CreateSpanElement();

            spanH21.SetText("H2. ");
            h2.AppendChild(spanH21);
            SpanElement spanH22 = taggedContent.CreateSpanElement();

            spanH22.SetText("Level 2 Header");
            h2.AppendChild(spanH22);

            SpanElement spanH31 = taggedContent.CreateSpanElement();

            spanH31.SetText("H3. ");
            h3.AppendChild(spanH31);
            SpanElement spanH32 = taggedContent.CreateSpanElement();

            spanH32.SetText("Level 3 Header");
            h3.AppendChild(spanH32);

            SpanElement spanH41 = taggedContent.CreateSpanElement();

            spanH41.SetText("H4. ");
            h4.AppendChild(spanH41);
            SpanElement spanH42 = taggedContent.CreateSpanElement();

            spanH42.SetText("Level 4 Header");
            h4.AppendChild(spanH42);

            SpanElement spanH51 = taggedContent.CreateSpanElement();

            spanH51.SetText("H5. ");
            h5.AppendChild(spanH51);
            SpanElement spanH52 = taggedContent.CreateSpanElement();

            spanH52.SetText("Level 5 Header");
            h5.AppendChild(spanH52);

            SpanElement spanH61 = taggedContent.CreateSpanElement();

            spanH61.SetText("H6. ");
            h6.AppendChild(spanH61);
            SpanElement spanH62 = taggedContent.CreateSpanElement();

            spanH62.SetText("Level 6 Header");
            h6.AppendChild(spanH62);

            ParagraphElement p = taggedContent.CreateParagraphElement();

            p.SetText("P. ");
            rootElement.AppendChild(p);
            SpanElement span1 = taggedContent.CreateSpanElement();

            span1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ");
            p.AppendChild(span1);
            SpanElement span2 = taggedContent.CreateSpanElement();

            span2.SetText("Aenean nec lectus ac sem faucibus imperdiet. ");
            p.AppendChild(span2);
            SpanElement span3 = taggedContent.CreateSpanElement();

            span3.SetText("Sed ut erat ac magna ullamcorper hendrerit. ");
            p.AppendChild(span3);
            SpanElement span4 = taggedContent.CreateSpanElement();

            span4.SetText("Cras pellentesque libero semper, gravida magna sed, luctus leo. ");
            p.AppendChild(span4);
            SpanElement span5 = taggedContent.CreateSpanElement();

            span5.SetText("Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. ");
            p.AppendChild(span5);
            SpanElement span6 = taggedContent.CreateSpanElement();

            span6.SetText("Interdum et malesuada fames ac ante ipsum primis in faucibus. ");
            p.AppendChild(span6);
            SpanElement span7 = taggedContent.CreateSpanElement();

            span7.SetText("Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. ");
            p.AppendChild(span7);
            SpanElement span8 = taggedContent.CreateSpanElement();

            span8.SetText("Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. ");
            p.AppendChild(span8);
            SpanElement span9 = taggedContent.CreateSpanElement();

            span9.SetText("Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
            p.AppendChild(span9);
            SpanElement span10 = taggedContent.CreateSpanElement();

            span10.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");
            p.AppendChild(span10);

            // Save Tagged Pdf Document
            document.Save(dataDir + "InlineStructureElements.pdf");
            // ExEnd:InlineStructureElements
        }
Пример #15
0
        private Element LoadElement(XPathNavigator node)
        {
            Element element = null;

            switch (node.Name)
            {
                case DataElement.ElementName:
                    _data = new DataElement(this, node);
                    if(_data.StartDate != null)
                        _startDate = _data.StartDate.Value;
                    element = _data;
                    break;
                case HeadElement.ElementName:
                    _head = new HeadElement(this, node);
                    element = _head;
                    break;
                case BodyElement.ElementName:
                    _body = new BodyElement(this, node);
                    element = _body;
                    break;
                case CalendarElement.ElementName:
                    _calendar = new CalendarElement(this, node);
                    element = _calendar;
                    break;
                case DayElement.ElementName:
                    element = new DayElement(this, node);
                    break;
                case AxisElement.ElementName:
                    AxisElement axis = new AxisElement(this, node);
                    axis.ViewStartDate = _startDate;
                    _axes.Add(axis);
                    element = axis;
                    break;
                case SpanElement.ElementName:
                    element = new SpanElement(this, node);
                    break;
                case IntervalElement.ElementName:
                    element = new IntervalElement(this, node);
                    break;
                case PointElement.ElementName:
                    element = new PointElement(this, node);
                    break;
                case RelationElement.ElementName:
                    RelationElement relation = new RelationElement(this, node);
                    relation.Origin = _map[relation.OriginId];
                    relation.Target = _map[relation.TargetId];
                    element = relation;
                    break;
                default:
                    element = new GanttElement(this, node);
                    break;
            }

            if (element != null)
            {
                AddElementToMap(element);

                if (node.HasChildren)
                {
                    foreach (XPathNavigator childNode in node.SelectChildren(XPathNodeType.Element))
                    {
                        Element childElement = LoadElement(childNode);
                        if (childElement != null)
                            element.AddChild(childElement);
                    }
                }
            }

            return element;
        }
Пример #16
0
        public static void Run()
        {
            // ExStart:CustomTagName
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

            // Create Pdf Document
            Document document = new Document();

            // Get Content for work with TaggedPdf
            ITaggedContent taggedContent = document.TaggedContent;

            // Set Title and Language for Documnet
            taggedContent.SetTitle("Tagged Pdf Document");
            taggedContent.SetLanguage("en-US");

            // Create Logical Structure Elements
            SectElement sect = taggedContent.CreateSectElement();

            taggedContent.RootElement.AppendChild(sect);

            ParagraphElement p1 = taggedContent.CreateParagraphElement();
            ParagraphElement p2 = taggedContent.CreateParagraphElement();
            ParagraphElement p3 = taggedContent.CreateParagraphElement();
            ParagraphElement p4 = taggedContent.CreateParagraphElement();

            p1.SetText("P1. ");
            p2.SetText("P2. ");
            p3.SetText("P3. ");
            p4.SetText("P4. ");

            p1.SetTag("P1");
            p2.SetTag("Para");
            p3.SetTag("Para");
            p4.SetTag("Paragraph");

            sect.AppendChild(p1);
            sect.AppendChild(p2);
            sect.AppendChild(p3);
            sect.AppendChild(p4);

            SpanElement span1 = taggedContent.CreateSpanElement();
            SpanElement span2 = taggedContent.CreateSpanElement();
            SpanElement span3 = taggedContent.CreateSpanElement();
            SpanElement span4 = taggedContent.CreateSpanElement();

            span1.SetText("Span 1.");
            span2.SetText("Span 2.");
            span3.SetText("Span 3.");
            span4.SetText("Span 4.");

            span1.SetTag("SPAN");
            span2.SetTag("Sp");
            span3.SetTag("Sp");
            span4.SetTag("TheSpan");

            p1.AppendChild(span1);
            p2.AppendChild(span2);
            p3.AppendChild(span3);
            p4.AppendChild(span4);

            // Save Tagged Pdf Document
            document.Save(dataDir + "CustomTag.pdf");
            // ExEnd:CustomTagName
        }
        public static void Run()
        {
            // ExStart:AddStructureElementIntoElement
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
            string outFile = dataDir + "AddStructureElementIntoElement_Output.pdf";
            string logFile = dataDir + "46144_log.xml";

            // Creation document and getting Tagged Pdf Content
            Document       document      = new Document();
            ITaggedContent taggedContent = document.TaggedContent;


            // Setting Title and Nature Language for document
            taggedContent.SetTitle("Text Elements Example");
            taggedContent.SetLanguage("en-US");

            // Getting Root structure element (Document structure element)
            StructureElement rootElement = taggedContent.RootElement;


            ParagraphElement p1 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p1);
            SpanElement span11 = taggedContent.CreateSpanElement();

            span11.SetText("Span_11");
            SpanElement span12 = taggedContent.CreateSpanElement();

            span12.SetText(" and Span_12.");
            p1.SetText("Paragraph with ");
            p1.AppendChild(span11);
            p1.AppendChild(span12);


            ParagraphElement p2 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p2);
            SpanElement span21 = taggedContent.CreateSpanElement();

            span21.SetText("Span_21");
            SpanElement span22 = taggedContent.CreateSpanElement();

            span22.SetText("Span_22.");
            p2.AppendChild(span21);
            p2.SetText(" and ");
            p2.AppendChild(span22);


            ParagraphElement p3 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p3);
            SpanElement span31 = taggedContent.CreateSpanElement();

            span31.SetText("Span_31");
            SpanElement span32 = taggedContent.CreateSpanElement();

            span32.SetText(" and Span_32");
            p3.AppendChild(span31);
            p3.AppendChild(span32);
            p3.SetText(".");


            ParagraphElement p4 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p4);
            SpanElement span41  = taggedContent.CreateSpanElement();
            SpanElement span411 = taggedContent.CreateSpanElement();

            span411.SetText("Span_411, ");
            span41.SetText("Span_41, ");
            span41.AppendChild(span411);
            SpanElement span42  = taggedContent.CreateSpanElement();
            SpanElement span421 = taggedContent.CreateSpanElement();

            span421.SetText("Span 421 and ");
            span42.AppendChild(span421);
            span42.SetText("Span_42");
            p4.AppendChild(span41);
            p4.AppendChild(span42);
            p4.SetText(".");


            // Save Tagged Pdf Document
            document.Save(outFile);

            // Checking PDF/UA compliance
            document = new Document(outFile);
            bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);

            Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));
            // ExEnd:AddStructureElementIntoElement
        }
Пример #18
0
        public static new Element FromObj(object instance)
        {
            if (instance == null)
            {
                return(null);
            }
            try{
                string tagUrn  = (string)GetProperty(instance, "tagUrn");
                string tagName = (string)GetProperty(instance, "tagName");
                if (tagUrn == null || tagUrn == "")
                {
                    switch (tagName.ToLower())
                    {
                    case "!":                       return(CommentElement.FromObj(instance));

                    case "a":                       return(AElement.FromObj(instance));

                    case "area":            return(AreaElement.FromObj(instance));

                    case "base":            return(BaseElement.FromObj(instance));

                    case "basefont":        return(BaseFontElement.FromObj(instance));

                    case "bgsound":         return(BgsoundElement.FromObj(instance));

                    case "address":
                    case "pre":
                    case "center":
                    case "listing":
                    case "xmp":
                    case "plaintext":
                    case "blockquote":      return(BlockElement.FromObj(instance));

                    case "body":            return(BodyElement.FromObj(instance));

                    case "br":                      return(BrElement.FromObj(instance));

                    case "button":          return(ButtonElement.FromObj(instance));

                    case "dd":                      return(DdElement.FromObj(instance));

                    case "div":                     return(DivElement.FromObj(instance));

                    case "dl":                      return(DlElement.FromObj(instance));

                    case "dt":                      return(DtElement.FromObj(instance));

                    case "embed":           return(EmbedElement.FromObj(instance));

                    case "fieldset":        return(FieldsetElement.FromObj(instance));

                    case "font":            return(FontElement.FromObj(instance));

                    case "form":            return(FormElement.FromObj(instance));

                    case "frame":           return(FrameElement.FromObj(instance));

                    case "frameset":        return(FramesetElement.FromObj(instance));

                    case "head":            return(HeadElement.FromObj(instance));

                    case "h1":
                    case "h2":
                    case "h3":
                    case "h4":
                    case "h5":
                    case "h6":
                        return(HnElement.FromObj(instance));

                    case "hr":                      return(HrElement.FromObj(instance));

                    case "html":            return(HtmlElement.FromObj(instance));

                    case "iframe":          return(IframeElement.FromObj(instance));

                    case "img":                     return(ImgElement.FromObj(instance));

                    case "input":           return(InputElement.FromObj(instance));

                    case "isindex":         return(IsindexElement.FromObj(instance));

                    case "legend":          return(LegendElement.FromObj(instance));

                    case "label":           return(LabelElement.FromObj(instance));

                    case "li":                      return(LiElement.FromObj(instance));

                    case "link":            return(LinkElement.FromObj(instance));

                    case "map":                     return(MapElement.FromObj(instance));

                    case "marquee":         return(MarqueeElement.FromObj(instance));

                    case "meta":            return(MetaElement.FromObj(instance));

                    case "nextid":          return(NextidElement.FromObj(instance));

                    case "noembed":
                    case "noframes":
                    case "nolayer":
                    case "noscript":        return(NoshowElement.FromObj(instance));

                    case "applet":
                    case "object":          return(ObjectElement.FromObj(instance));

                    case "ol":                      return(OlElement.FromObj(instance));

                    case "optgroup":
                    case "option":          return(OptionElement.FromObj(instance));

                    case "p":                       return(PElement.FromObj(instance));

                    case "param":           return(ParamElement.FromObj(instance));

                    case "i":
                    case "u":
                    case "b":
                    case "q":
                    case "s":
                    case "strong":
                    case "del":
                    case "strike":
                    case "em":
                    case "small":
                    case "big":
                    case "ruby":
                    case "rp":
                    case "sub":
                    case "sup":
                    case "acronym":
                    case "bdo":
                    case "cite":
                    case "dfn":
                    case "ins":
                    case "code":
                    case "kbd":
                    case "samp":
                    case "var":
                    case "nobr":            return(PhraseElement.FromObj(instance));

                    case "script":          return(ScriptElement.FromObj(instance));

                    case "select":          return(SelectElement.FromObj(instance));

                    case "span":            return(SpanElement.FromObj(instance));

                    case "style":           return(StyleElement.FromObj(instance));

                    case "caption":         return(CaptionElement.FromObj(instance));

                    case "td":
                    case "th":                      return(TableCellElement.FromObj(instance));

                    case "table":           return(TableElement.FromObj(instance));

                    case "colgroup":
                    case "col":                     return(ColElement.FromObj(instance));

                    case "tr":                      return(TrElement.FromObj(instance));

                    case "thead":
                    case "tbody":
                    case "tfoot":           return(TableSectionElement.FromObj(instance));

                    case "textarea":        return(TextAreaElement.FromObj(instance));

                    case "wbr": return(TextElement.FromObj(instance));

                    case "title":           return(TitleElement.FromObj(instance));

                    case "dir":
                    case "menu":
                    case "ul":                      return(UlElement.FromObj(instance));
                        // optionbutton ?
                        // spanflow ?
                        // default:			return UnknownElement.FromObj(instance);
                    }
                }
            }catch {
                // IHTMLElement でない可能性
            }

            return(new Element(instance));
        }
Пример #19
0
        public override Verb CreateVerb(string[] tokens)
        {
            Color(position, length, Operators);
            var type = tokens[1];
            var text = tokens[2];

            switch (text.ToLower().Substring(1))
            {
            case "s":
                text = STRING_SPACES;
                break;

            case "w":
                text = STRING_WORDS;
                break;

            case "d":
                text = STRING_DIGITS;
                break;

            case "p":
                text = STRING_PUNCT;
                break;

            case "a":
                text = STRING_LETTERS;
                break;

            case "t":
                text = STRING_TAB;
                break;

            case "rn":
                text = STRING_CRLF;
                break;

            case "r":
                text = STRING_CR;
                break;

            case "n":
                text = STRING_LF;
                break;

            case "u":
                text = STRING_UPPER;
                break;

            case "l":
                text = STRING_LOWER;
                break;

            case "v":
                text = STRING_VOWELS;
                break;

            case "uv":
                text = STRING_UVOWELS;
                break;

            case "lv":
                text = STRING_LVOWELS;
                break;

            case "uc":
                text = STRING_UCONSONANTS;
                break;

            case "lc":
                text = STRING_LCONSONANTS;
                break;

            case "q":
                text = STRING_QUOTES;
                break;

            default:
                return(null);
            }

            switch (type)
            {
            case "+":
                Element = new SpanElement(text);
                break;

            case "-":
                Element = new BreakElement(text);
                break;

            case "++":
                Element = new MSpanElement(text);
                break;

            case "--":
                Element = new MBreakElement(text);
                break;

            case "":
                Element = new AnyElement(text, 1);
                break;

            default:
                if (text.IsNumeric())
                {
                    Element = new AnyElement(text, text.ToInt());
                }
                else
                {
                    return(null);
                }

                break;
            }

            return(new NullOp());
        }
Пример #20
0
 public SpanElement CreateSpanElement(string id, string type, string tag)
 {
     SpanElement element = new SpanElement(this, id, type, tag);
     AddElement(element, _body);
     return element;
 }
Пример #21
0
        public static void Run()
        {
            // ExStart:LinkStructureElements
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
            string outFile = dataDir + "LinkStructureElements_Output.pdf";
            string logFile = dataDir + "46035_log.xml";
            string imgFile = dataDir + "google-icon-512.png";

            // Creation document and getting Tagged Pdf Content
            Document       document      = new Document();
            ITaggedContent taggedContent = document.TaggedContent;


            // Setting Title and Nature Language for document
            taggedContent.SetTitle("Link Elements Example");
            taggedContent.SetLanguage("en-US");

            // Getting Root structure element (Document structure element)
            StructureElement rootElement = taggedContent.RootElement;


            ParagraphElement p1 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p1);
            LinkElement link1 = taggedContent.CreateLinkElement();

            p1.AppendChild(link1);
            link1.Hyperlink = new WebHyperlink("http://google.com");
            link1.SetText("Google");
            link1.AlternateDescriptions = "Link to Google";


            ParagraphElement p2 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p2);
            LinkElement link2 = taggedContent.CreateLinkElement();

            p2.AppendChild(link2);
            link2.Hyperlink = new WebHyperlink("http://google.com");
            SpanElement span2 = taggedContent.CreateSpanElement();

            span2.SetText("Google");
            link2.AppendChild(span2);
            link2.AlternateDescriptions = "Link to Google";


            ParagraphElement p3 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p3);
            LinkElement link3 = taggedContent.CreateLinkElement();

            p3.AppendChild(link3);
            link3.Hyperlink = new WebHyperlink("http://google.com");
            SpanElement span31 = taggedContent.CreateSpanElement();

            span31.SetText("G");
            SpanElement span32 = taggedContent.CreateSpanElement();

            span32.SetText("oogle");
            link3.AppendChild(span31);
            link3.SetText("-");
            link3.AppendChild(span32);
            link3.AlternateDescriptions = "Link to Google";


            ParagraphElement p4 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p4);
            LinkElement link4 = taggedContent.CreateLinkElement();

            p4.AppendChild(link4);
            link4.Hyperlink = new WebHyperlink("http://google.com");
            link4.SetText("The multiline link: Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google");
            link4.AlternateDescriptions = "Link to Google (multiline)";


            ParagraphElement p5 = taggedContent.CreateParagraphElement();

            rootElement.AppendChild(p5);
            LinkElement link5 = taggedContent.CreateLinkElement();

            p5.AppendChild(link5);
            link5.Hyperlink = new WebHyperlink("http://google.com");
            FigureElement figure5 = taggedContent.CreateFigureElement();

            figure5.SetImage(imgFile, 1200);
            figure5.AlternativeText = "Google icon";
            StructureAttributes linkLayoutAttributes = link5.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
            StructureAttribute  placementAttribute   = new StructureAttribute(AttributeKey.Placement);

            placementAttribute.SetNameValue(AttributeName.Placement_Block);
            linkLayoutAttributes.SetAttribute(placementAttribute);
            link5.AppendChild(figure5);
            link5.AlternateDescriptions = "Link to Google";


            // Save Tagged Pdf Document
            document.Save(outFile);

            // Checking PDF/UA compliance
            document = new Document(outFile);
            bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);

            Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));
            // ExEnd:LinkStructureElements
        }