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;
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }