}// end:ReleaseXmlWriterForFixedDocument // ------------------- AcquireXmlWriterForFixedPage ------------------- /// <Summary> /// Acquires an XmlWriter for a FixedPage.</Summary> public override XmlWriter AcquireXmlWriterForFixedPage() { XmlWriter xmlWriter = null; if (_currentFixedPageHelper == null) { String fileName = FileHelper.GenerateFileName(XpsFileType.FixedPage, _path); _currentFixedPageHelper = new XmlWriterHelper(_path, fileName); //Need to allocate helper streams and writers for FixedPage _linkTargetStream = new List <String>(); _resourceDictionaryStream = new StringWriter(CultureInfo.InvariantCulture); _resourceDictionaryXmlWriter = new XmlTextWriter(_resourceDictionaryStream); _pageStream = new StringWriter(CultureInfo.InvariantCulture); _pageXmlWriter = new XmlTextWriter(_pageStream); //Need to figure out name for the relationship file for this FixedPage String path = _path + "/Pages/_rels/" + Path.GetFileName(fileName) + ".rels"; _fixedPageRelationshipStream = new RelationshipStream(path); //Add FixedPage type to Content Type file _contentTypeFile.AddType(XpsFileType.FixedPage, FileHelper.GetExtension(XpsFileType.FixedPage)); } xmlWriter = _currentFixedPageHelper.AcquireXmlWriter(); return(xmlWriter); }
}// end:ReleaseXmlWriterForFixedDocumentSequence // ----------------- AcquireXmlWriterForFixedDocument ----------------- /// <Summary> /// Acquires an XmlWriter for a FixedDocument.</Summary> public override XmlWriter AcquireXmlWriterForFixedDocument() { XmlWriter xmlWriter = null; //Create a FixedDocumentHelper if one isn't already created. if (_currentFixedDocumentHelper == null) { String fileName = FileHelper.GenerateFileName(XpsFileType.FixedDocument, _path); _currentFixedDocumentHelper = new XmlWriterHelper(_path, fileName); //Add FixedDocument content type to ConentTypes file _contentTypeFile.AddType(XpsFileType.FixedDocument, FileHelper.GetExtension(XpsFileType.FixedDocument)); //Need to figure out name for the relationship file for this FixedPage String path = _path + "/Documents/_rels/" + Path.GetFileName(fileName) + ".rels"; _fixedDocumentRelationshipStream = new RelationshipStream(path); //Need to write DocumentReference markup to FixedDocument _currentDocumentSequenceHelper.WriteStartElement("DocumentReference"); String relativePath = _currentFixedDocumentHelper.FileName; _currentDocumentSequenceHelper.WriteAttributeString("Source", relativePath); _currentDocumentSequenceHelper.WriteEndElement(); } xmlWriter = _currentFixedDocumentHelper.AcquireXmlWriter(); return(xmlWriter); }
// ------------- AcquireXmlWriterForFixedDocumentSequence ------------- /// <Summary> /// Acquires an XmlWriter for a FixedDocumentSequence.</Summary> public override XmlWriter AcquireXmlWriterForFixedDocumentSequence() { XmlWriter xmlWriter = null; // Check to make sure that there is not already a Document Sequence writer created if (_currentDocumentSequenceHelper == null) { String filename = FileHelper.GenerateFileName(XpsFileType.FixedDocumentSequence, _path); _currentDocumentSequenceHelper = new XmlWriterHelper(_path, filename); } xmlWriter = _currentDocumentSequenceHelper.AcquireXmlWriter(); //Adds file type for FixedDocumentSequence to Content Types _contentTypeFile.AddType(XpsFileType.FixedDocumentSequence, FileHelper.GetExtension(XpsFileType.FixedDocumentSequence)); //Adds file type for Relationships to Content Types _contentTypeFile.AddType(XpsFileType.Relationship, FileHelper.GetExtension(XpsFileType.Relationship)); return(xmlWriter); }