コード例 #1
0
        public List <BookPoint> GetBookPoints()
        {
            var points = new List <BookPoint>();

            try
            {
                var file = new FileInfo(mFilepath);
                if (!file.Exists)
                {
                    return(points);
                }

                FileStream            docStream = new System.IO.FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                Aspose.Words.Document doc       = new Aspose.Words.Document(docStream);
                docStream.Close();
                var curModule = "";
                var nodes     = doc.GetChildNodes(NodeType.Paragraph, true);
                foreach (var p in nodes)
                {
                    var par       = p as Aspose.Words.Paragraph;
                    var styleName = par.ParagraphFormat.Style.Name;
                    if (styleName != null && (styleName.Equals(WordStyleNames.STYLE_NAME_MODULE) || styleName.Equals(WordStyleNames.STYLE_NAME_MODULE2)))
                    {
                        curModule = par.Range.Text.Trim();
                    }
                    if (styleName != null && (styleName.Equals(WordStyleNames.STYLE_NAME_UNIT) || styleName.Equals(WordStyleNames.STYLE_NAME_UNIT2)))
                    {
                        var curUnit = par.Range.Text;
                        if (!string.IsNullOrEmpty(curModule))
                        {
                            var point = new BookPoint()
                            {
                                Book   = mFilepath?.Trim(),
                                Module = curModule?.Trim(),
                                Unit   = curUnit?.Trim()
                            };
                            points.Add(point);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                mLog.Error($"Exception: {nameof(WordFileReader)}.{nameof(GetBookPoints)} - {e}");
            }


            return(points);
        }
コード例 #2
0
        public string GetBookTitle()
        {
            try
            {
                var file = new FileInfo($"{SystemFileNames.BOOK_PATH}\\{mFilepath}");
                if (!file.Exists)
                {
                    return("");
                }
                FileStream            docStream = new System.IO.FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                Aspose.Words.Document doc       = new Aspose.Words.Document(docStream);
                docStream.Close();
                var node = doc.GetChild(NodeType.Paragraph, 0, true) as Aspose.Words.Paragraph;
                return(node?.Range.Text.Trim());
            }
            catch (Exception e)
            {
                mLog.Error($"Exception: {nameof(WordFileReader)}.{nameof(GetBookTitle)} - {e}");
            }

            return("");
        }