Ejemplo n.º 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;
            }
        }
        protected override void DrawTextSelection(PdfBitmap bitmap,
                                                  SelectInfo _,
                                                  int pageIndex)
        {
            foreach (var selInfo in SelectInfos)
            {
                base.DrawTextSelection(bitmap,
                                       selInfo,
                                       pageIndex);
            }

            base.DrawTextHighlight(bitmap,
                                   ExtractHighlights.SafeGet(pageIndex),
                                   pageIndex);
        }