private void ReadCustomFiles(DocumentManifest manifest) { foreach (XElement fileEntry in manifest.Manifest.Element(Ns.Manifest + "manifest").Elements(Ns.Manifest + "file-entry")) { string fullPath = (string)fileEntry.Attribute(Ns.Manifest + "full-path"); if (string.IsNullOrEmpty(fullPath)) { continue; } if (fullPath.EndsWith("/", StringComparison.InvariantCulture)) { continue; } if (fullPath.StartsWith("Configurations2/", StringComparison.InvariantCulture)) { continue; } if (fullPath.StartsWith("Pictures/", StringComparison.InvariantCulture)) { continue; } if (fullPath.StartsWith("Thumbnails/", StringComparison.InvariantCulture)) { continue; } if (KnownFiles.Contains(fullPath)) { continue; } string mediaType = (string)fileEntry.Attribute(Ns.Manifest + "media-type"); _document.CustomFiles.Add(new PackageCustomFile(mediaType, _packageReader.GetFile(fullPath))); } }
/// <summary> /// Create a blank new document. /// </summary> public TextDocument New() { _xmldoc = XDocument.Parse(TextDocumentHelper.GetBlankDocument()); Styles = new StyleCollection(); DocumentConfigurations2 = new DocumentConfiguration2(); DocumentManifest = new DocumentManifest(); DocumentManifest.New(); DocumentMetadata = new DocumentMetadata(this); DocumentMetadata.New(); DocumentPictures = new DocumentPictureCollection(); DocumentSetting = new DocumentSetting(); DocumentSetting.New(); DocumentStyles = new DocumentStyles(); DocumentStyles.New(this); ReadCommonStyles(); Forms = new ODFFormCollection(); _formCollection.Clearing += FormsCollection_Clear; _formCollection.Removed += FormsCollection_Removed; Fields.Clear(); Content.Clear(); VariableDeclarations = new VariableDeclCollection(); DocumentThumbnails = new DocumentPictureCollection(); MasterPageFactory.RenameMasterStyles( DocumentStyles.Styles, XmlDoc); // Read the moved and renamed styles LocalStyleProcessor lsp = new LocalStyleProcessor(this, false); lsp.ReReadKnownAutomaticStyles(); new MasterPageFactory().FillFromXMLDocument(this); return(this); }