private void SetSearchKeywords_EXECUTE(string search_string) { // Check if we are repeating the search or not... if (previous_search_string != search_string) { FeatureTrackingManager.Instance.UseFeature(Features.Document_Search); previous_search_string = search_string; previous_search_result_set = PDFSearcher.Search(pdf_renderer_control_stats.pdf_document, search_string); } else { FeatureTrackingManager.Instance.UseFeature(Features.Document_SearchAgain); } PDFSearchResultSet search_result_set = previous_search_result_set; // Set the PDF viewer search results pdf_renderer_control.SetSearchKeywords(search_result_set); // Set the bottom list box search results if (null != search_result_set && search_result_set.Count > 0) { GridBOTTOM.Visibility = Visibility.Visible; } else { GridBOTTOM.Visibility = Visibility.Collapsed; } ListSearchDetails.DataContext = search_result_set.AsList(); }
public static bool DoesBibTeXMatchDocument(BibTexItem bibtex_item, PDFDocument pdf_document, out PDFSearchResultSet search_result_set) { try { string authors_string = BibTexTools.GetAuthor(bibtex_item); if (!String.IsNullOrEmpty(authors_string)) { List <NameTools.Name> names = NameTools.SplitAuthors(authors_string, PDFDocument.UNKNOWN_AUTHORS); StringBuilder sb = new StringBuilder(); foreach (NameTools.Name name in names) { sb.AppendFormat("\"{0}\" ", name.last_name); } string names_search_string = sb.ToString(); if (!String.IsNullOrEmpty(names_search_string)) { search_result_set = PDFSearcher.Search(pdf_document, 1, names_search_string, PDFSearcher.MATCH_CONTAINS); if (0 < search_result_set.Count) { return(true); } } } } catch (Exception) { } search_result_set = new PDFSearchResultSet(); return(false); }
private void ButtonSearchInside_Click(object sender, RoutedEventArgs e) { FeatureTrackingManager.Instance.UseFeature(Features.Library_SearchInsideOpen); PDFSearchResultSet search_result_set = PDFSearcher.Search(PDFDocumentBindable.Underlying, LibraryCatalogControl.FilterTerms); ListSearchDetails.DataContext = search_result_set.AsList(); ObjLookInsidePanel.Visibility = Visibility.Visible; }