Esempio n. 1
0
        public virtual void CustomDestinationPrefixTest()
        {
            IDictionary <String, int?> priorityMappings = new Dictionary <String, int?>();

            priorityMappings.Put("p", 1);
            OutlineHandler outlineHandler = new OutlineHandler().PutAllTagPriorityMappings(priorityMappings);

            outlineHandler.SetDestinationNamePrefix("prefix-");
            NUnit.Framework.Assert.AreEqual("prefix-", outlineHandler.GetDestinationNamePrefix());
            ProcessorContext context = new ProcessorContext(new ConverterProperties().SetOutlineHandler(outlineHandler
                                                                                                        ));

            context.Reset(new PdfDocument(new PdfWriter(new MemoryStream())));
            IElementNode elementNode = new JsoupElementNode(new iText.StyledXmlParser.Jsoup.Nodes.Element(iText.StyledXmlParser.Jsoup.Parser.Tag
                                                                                                          .ValueOf(TagConstants.P), TagConstants.P));
            IDictionary <String, String> styles = new Dictionary <String, String>();

            styles.Put(CssConstants.WHITE_SPACE, CssConstants.NORMAL);
            styles.Put(CssConstants.TEXT_TRANSFORM, CssConstants.LOWERCASE);
            // Styles are required in the constructor of the PTagWorker class
            elementNode.SetStyles(styles);
            outlineHandler.AddOutlineAndDestToDocument(new PTagWorker(elementNode, context), elementNode, context);
            PdfOutline pdfOutline = context.GetPdfDocument().GetOutlines(false).GetAllChildren()[0];

            NUnit.Framework.Assert.AreEqual("p1", pdfOutline.GetTitle());
            PdfString pdfStringDest = (PdfString)pdfOutline.GetDestination().GetPdfObject();

            NUnit.Framework.Assert.AreEqual("prefix-1", pdfStringDest.ToUnicodeString());
        }
Esempio n. 2
0
        /// <summary>Creates an OutlineHandler with standard predefined mappings.</summary>
        /// <returns>the outline handler</returns>
        public static OutlineHandler CreateStandardHandler()
        {
            OutlineHandler handler = new OutlineHandler();

            handler.PutTagPriorityMapping("h1", 1);
            handler.PutTagPriorityMapping("h2", 2);
            handler.PutTagPriorityMapping("h3", 3);
            handler.PutTagPriorityMapping("h4", 4);
            handler.PutTagPriorityMapping("h5", 5);
            handler.PutTagPriorityMapping("h6", 6);
            return(handler);
        }