private void InitCache(CreateAndRegisterStream streamDelegate) { if (this._scalabilityCache == null) { this._scalabilityCache = (ScalabilityCache)ScalabilityUtils.CreateCacheForTransientAllocations(streamDelegate, "Word", AspNetCore.ReportingServices.Rendering.WordRenderer.WordOpenXmlRenderer.Models.StorageObjectCreator.Instance, WordRendererReferenceCreator.Instance, ComponentType.Rendering, 1); } }
public OpenXmlDocumentModel(Stream output, WordOpenXmlWriter.CreateXmlStream createXmlStream, ScalabilityCache scalabilityCache) { _createXmlStream = createXmlStream; _zipPackage = Package.Open(output, FileMode.Create); _documentPart = (_currentPart = new PartInfo()); _currentPart.Part = new DocumentPart(); _manager = new PartManager(ZipPackage); Relationship relationship = _manager.AddStreamingRootPartToTree("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", "word/document.xml"); WriteStylesheet(); WriteSettings(); _currentPart.PartName = relationship.RelatedPart; _currentPart.Stream = _createXmlStream("document"); _currentPart.Writer = new InterleavingWriter(_currentPart.Stream, scalabilityCache); _currentHeaderFooterReferences = default(TemporaryHeaderFooterReferences); _tags = new Stack <OoxmlComplexType>(); _currentPart.Writer.TextWriter.Write(OoxmlPart.XmlDeclaration); CT_Document cT_Document = new CT_Document(); cT_Document.WriteOpenTag(_currentPart.Writer.TextWriter, _currentPart.Part.Tag, _currentPart.Part.Namespaces); _tags.Push(cT_Document); CT_Body ctObject = new CT_Body(); WriteStartTag(ctObject, CT_Document.BodyElementName); _currentPart.TableContext = new TableContext(_currentPart.Writer, inHeaderFooter: false); _listManager = new OpenXmlListNumberingManager(); _sectionProperties = new OpenXmlSectionPropertiesModel(); }
public InterleavingWriter(Stream stream, ScalabilityCache scalabilityCache) : this(stream) { _interleavingContent = new ScalableList <IInterleave>(1, scalabilityCache, 113, 13); }