Beispiel #1
0
        protected void AddHighlight(PDFTextExtract extract,
                                    System.Windows.Media.Color highlightColor)
        {
            for (int pageIdx = extract.StartPage; pageIdx <= extract.EndPage; pageIdx++)
            {
                int pageStartIdx = pageIdx == extract.StartPage ? extract.StartIndex : 0;
                int pageEndIdx   = pageIdx == extract.EndPage ? extract.EndIndex : 0;
                int pageCount    = GetTextLength(pageIdx,
                                                 pageStartIdx,
                                                 pageEndIdx);

                var pageHighlights = ExtractHighlights
                                     .SafeGet(pageIdx,
                                              new List <HighlightInfo>());

                pageHighlights.Add(new HighlightInfo
                {
                    CharIndex  = pageStartIdx,
                    CharsCount = pageCount,
                    Color      = highlightColor
                }
                                   );

                ExtractHighlights[pageIdx] = pageHighlights;
            }
        }
        private void SplitExtractByPage(PDFTextExtract extract,
                                        Color extractColor,
                                        Dictionary <int, List <Span <Color> > > pageSpanDict)
        {
            for (int pageIdx = extract.StartPage; pageIdx <= extract.EndPage; pageIdx++)
            {
                var page = Document.Pages[pageIdx];
                PagesToDispose.Add(pageIdx);

                int startIdx = extract.StartPage == pageIdx ? extract.StartIndex : 0;
                int endIdx   = extract.EndPage == pageIdx ? extract.EndIndex : page.Text.CountChars;

                var spans = pageSpanDict.SafeGet(pageIdx,
                                                 new List <Span <Color> >());
                spans.Add(new Span <Color>(extractColor,
                                           startIdx,
                                           endIdx));
                pageSpanDict[pageIdx] = spans;
            }
        }
Beispiel #3
0
 protected void AddPDFExtractHighlight(PDFTextExtract extract)
 {
     AddHighlight(extract, Config.PDFExtractColor);
 }
Beispiel #4
0
 protected void AddIgnoreHighlight(PDFTextExtract extract)
 {
     AddHighlight(extract, Config.IgnoreHighlightColor);
 }
        //
        // Highlights

        protected void AddSMExtractHighlight(PDFTextExtract extract)
        {
            AddHighlight(extract,
                         SMExtractColor);
        }