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; } }
protected void AddPDFExtractHighlight(PDFTextExtract extract) { AddHighlight(extract, Config.PDFExtractColor); }
protected void AddIgnoreHighlight(PDFTextExtract extract) { AddHighlight(extract, Config.IgnoreHighlightColor); }
// // Highlights protected void AddSMExtractHighlight(PDFTextExtract extract) { AddHighlight(extract, SMExtractColor); }