示例#1
0
 internal void Close()
 {
     lock (this)
     {
         if (_isOpened)
         {
             // Close all pages.
             try
             {
                 foreach (Page page in _allPages.Values)
                 {
                     // Only dispose document page, embedded page will be disposed by its parent document page.
                     if (page != null && page is DocumentPage)
                     {
                         page.Dispose();
                     }
                 }
             }
             catch (Exception exp)
             {
                 Debug.WriteLine(exp.Message);
             }
             UnlockFile();
             _documentData = new DocumentData(this, DocumentType.Standard);
             _versionData  = new VersionData(this);
             _allPages.Clear();
             _fileName = null;
             _isDirty  = false;
             _isOpened = false;
         }
         ///out of _isOpened  in order to clear work directory when unzip exception.
         UninitializeWorkingDirectory();
     }
 }
示例#2
0
        internal Document(DocumentType type)
        {
            _documentData = new DocumentData(this, type);

            _versionData = new VersionData(this);

            _imagesData = new ImagesData(this);

            // Initialize working directory so that we can save page data and stream data in working directory,
            // even if we don't save this document.
            InitializeWorkingDirectory();

            _isOpened = true; // Document is opened once it is created.
        }