Exemple #1
0
        private static Dictionary <string, NamedValues <ZValue> > CreateImagePatches(PagePatch pagePatch)
        {
            Dictionary <string, NamedValues <ZValue> > imagePatches = null;

            if (pagePatch != null && pagePatch.Patches != null)
            {
                imagePatches = new Dictionary <string, NamedValues <ZValue> >();
                foreach (BsonValue patch in pagePatch.Patches)
                {
                    BsonDocument patchDoc = patch.AsBsonDocument;
                    if (patchDoc.zGet("Type").zAsString().ToLower() == "image")
                    {
                        imagePatches.Add(patchDoc.zGet("Url").zAsString(), ParseNamedValues.ParseValues(patchDoc.zGet("Values").zAsString(), useLowercaseKey: true));
                    }
                }
            }
            return(imagePatches);
        }
Exemple #2
0
        //private IEnumerable<OXmlElement> ToOXmlElements(IEnumerable<HtmlPage> pages, string footerText = null)
        //private IEnumerable<OXmlElement> ToOXmlElements(IEnumerable<IEnumerable<OXmlElement>> pages, string footerText = null)
        //private IEnumerable<OXmlElement> ToOXmlElements(IEnumerable<OXmlPage> pages, string footerText = null)
        private IEnumerable <OXmlElement> ToOXmlElements(IEnumerable <HtmlPage> htmlPages, string footerText = null)
        {
            IEnumerable <OXmlElement> elements =
                GetDocDefaults().Union(
                    GetStyles()).Union(
                    GetDocSection()).Union(
                    GetHeaderFooter(footerText));
            bool first = true;

            //foreach (IEnumerable<OXmlElement> page in pages)
            //foreach (OXmlPage page in pages)
            foreach (HtmlPage htmlPage in htmlPages)
            {
                PagePatch patch = null;
                if (_patches != null && _patches.ContainsKey(htmlPage.Id))
                {
                    patch = _patches[htmlPage.Id];
                }

                bool pageBreak = false;
                if (patch != null && patch.PageBreak)
                {
                    pageBreak = true;
                }

                if (!first)
                {
                    elements = elements.Union(GetPageBreak(pageBreak));
                }
                first = false;
                //elements = elements.Union(GetTitle(string.Format(_frCulture, "{0:dd MMMM}", page.Date) + " : " + page.Title));
                //elements = elements.Union(_htmlToOXmlElements.ToOXmlXElements(page.HtmlNodes, page.WebImages));
                //elements = elements.Union(page.OXmlElements);
                //PageToOXmlElements(htmlPage, (options & OXmlDocOptions.ExportOXmlPage) == OXmlDocOptions.ExportOXmlPage)
                elements = elements.Union(PageToOXmlElements(htmlPage, CreateImagePatches(patch)));
            }
            return(elements);
        }