/// <summary>
        /// 保存文件
        /// </summary>
        /// <param name="newFileName">使用新文件名</param>
        /// <param name="args">事件参数</param>
        /// <returns>操作是否成功</returns>
        public virtual bool SaveDocument(bool newFileName, WriterCommandEventArgs args)
        {
            string      fileName = args.Document.FileName;
            IFileSystem fs       = args.Host.FileSystems.Docuemnt;

            if (args.Parameter is string)
            {
                if (newFileName == false)
                {
                    fileName = (string)args.Parameter;
                }
            }
            else if (args.Parameter is System.IO.Stream)
            {
                System.IO.Stream stream2 = (System.IO.Stream)args.Parameter;
                args.Document.Save(stream2, FileFormat.XML);
                return(true);
            }
            else if (args.Parameter is System.IO.TextWriter)
            {
                System.IO.TextWriter writer = (System.IO.TextWriter)args.Parameter;
                args.Document.Save(writer, FileFormat.XML);
                return(true);
            }
            if (args.ShowUI)
            {
                if (fileName == null || fileName.Trim().Length == 0 || newFileName)
                {
                    fileName = fs.BrowseSave(args.Host.Services, fileName);
                    if (string.IsNullOrEmpty(fileName))
                    {
                        return(false);
                    }
                }
            }//if

            if (fileName == null || fileName.Trim().Length == 0)
            {
                return(false);
            }

            VFileInfo  info   = fs.GetFileInfo(args.Host.Services, fileName);
            FileFormat format = WriterUtils.ParseFileFormat(info.Format);

            System.IO.Stream stream = fs.Save(args.Host.Services, fileName);
            if (stream != null)
            {
                using (stream)
                {
                    args.Document.Save(stream, format);
                }
                return(true);
            }
            else
            {
                // 未能打开文件,保存失败。
                return(false);
            }
        }