public List <TextRead> GetTexts() { //var lstText = new List<string>(); List <TextRead> lstTextRead = new List <TextRead>(); try { Double checkInt; for (int i = 0; i < _presentation.Slides.Count; i++) { foreach (var item in _presentation.Slides[i + 1].Shapes) { var shape = (PowerPoint.Shape)item; if (shape.HasTextFrame == MsoTriState.msoTrue) { if (shape.TextFrame.HasText == MsoTriState.msoTrue) { var textRange = shape.TextFrame.TextRange; var text = textRange.Text.Trim(); if (String.IsNullOrEmpty(text)) { continue; } var stringSeparators = new char[] { '。', '.', '\n', '\r', '\a', '\u0001', '\v' }; var segment = text.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); segment = segment.Where(x => x.Length > 0 && !Double.TryParse(x, out checkInt)).ToArray(); foreach (var itsegment in segment) { TextRead oTempTextRead = new TextRead() { Row = -1, Col = -1, Value = itsegment.Trim(), SheetName = String.Empty, ParagraphsOrShapeIndex = i + 1 }; if (!String.IsNullOrEmpty(itsegment.Trim()) && !lstTextRead.Any(a => a.Value == itsegment.Trim() && a.ParagraphsOrShapeIndex == i + 1)) { lstTextRead.Add(oTempTextRead); } } } } } } return(lstTextRead); } catch (Exception) { this.Dispose(); throw; } }
/// <summary> /// BACHBD 8/8/2016 /// Return text object in word file /// </summary> /// <returns>lstTextObject</returns> public List <TextRead> GetTextObjectInWord() { //List<String> lstTextObject = new List<String>(); List <TextRead> lstTextRead = new List <TextRead>(); try { for (int i = 1; i <= _document.Shapes.Count; i++) { Microsoft.Office.Interop.Word.Shape shp = _document.Shapes[i]; if (shp.TextFrame.HasText != 0) { String txtShape = shp.TextFrame.TextRange.Text.ToString(); //TextFrame .Characters(Type.Missing, Type.Missing).Text; List <String> lstSplitPassage = new List <String>(); lstSplitPassage = SplitPassage(txtShape); foreach (string text in lstSplitPassage) { TextRead temp = new TextRead() { Row = -1, Col = -1, Value = text, SheetName = String.Empty, ParagraphsOrShapeIndex = i }; if (!lstTextRead.Any(a => a.Value == temp.Value)) { lstTextRead.Add(temp); } } } } } catch (Exception ex) { this.Dispose(); throw ex; } return(lstTextRead); }
/// <summary> /// BACHBD 8/8/2016 /// Return text Segment in word file /// </summary> /// <returns>lstTextSegment</returns> public List <TextRead> GetTextSegmentInWord() { List <TextRead> lstTextRead = new List <TextRead>(); try { for (int i = 1; i <= _document.Paragraphs.Count; i++) { Paragraph objParagraph = _document.Paragraphs[i]; String txtSegment = objParagraph.Range.Text.ToString(); Double checkNumber; if (!String.IsNullOrEmpty(txtSegment.Trim()) && !Double.TryParse(txtSegment.Trim(), out checkNumber)) { List <String> lstSplitPassage = new List <String>(); lstSplitPassage = SplitPassage(txtSegment); foreach (string text in lstSplitPassage) { TextRead temp = new TextRead() { Row = -1, Col = -1, Value = text, SheetName = String.Empty, ParagraphsOrShapeIndex = i }; if (!lstTextRead.Any(a => a.Value == temp.Value && a.ParagraphsOrShapeIndex == temp.ParagraphsOrShapeIndex)) { lstTextRead.Add(temp); } } } } } catch (Exception ex) { this.Dispose(); throw ex; } return(lstTextRead); }