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); }