Esempio n. 1
0
 public override void SetBackgroundPicture(string uniqueId, string extension, Stream pictureStream)
 {
     if (_tailWriter.CurrentSection > StreamsheetParser.StreamSheetSection.Picture)
     {
         throw new FatalException();
     }
     _stagedSheetBackgroundTag         = new CT_SheetBackgroundPicture();
     _stagedSheetBackgroundTag.Id_Attr = InsertBackgroundPicture(uniqueId, extension, pictureStream);
 }
Esempio n. 2
0
 public void WritePicture(CT_SheetBackgroundPicture picture)
 {
     this.WriteStandaloneTag(picture, StreamSheetSection.Picture, CT_Worksheet.PictureElementName);
 }
Esempio n. 3
0
        private void AdvanceStreamsheetTo(StreamsheetParser.StreamSheetSection newSection, bool head)
        {
            StreamsheetParser    streamsheetParser   = head ? _headWriter : _tailWriter;
            IOoxmlCtWrapperModel ooxmlCtWrapperModel = head ? _stagedHeadTag : _stagedTailTag;

            CheckAdvancingStatus(newSection, streamsheetParser);
            if (ooxmlCtWrapperModel != null)
            {
                ooxmlCtWrapperModel.Cleanup();
                streamsheetParser.WriteTag(ooxmlCtWrapperModel.OoxmlTag);
                if (head)
                {
                    _stagedHeadTag = null;
                }
                else
                {
                    _stagedTailTag = null;
                }
            }
            if (_stagedPageSetupModel != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.SheetPr))
            {
                _stagedPageSetupModel.Cleanup();
                streamsheetParser.WriteSheetProperties(_stagedPageSetupModel.BackingSheet.SheetPr);
            }
            if (_stagedSheetView != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.SheetViews))
            {
                streamsheetParser.WriteSheetView(_stagedSheetView);
                _stagedSheetView = null;
            }
            if (_stagedPageSetupModel != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.PageMargins))
            {
                _stagedPageSetupModel.Cleanup();
                streamsheetParser.WritePageMargins(_stagedPageSetupModel.BackingSheet.PageMargins);
            }
            if (_stagedPageSetupModel != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.PageSetup))
            {
                _stagedPageSetupModel.Cleanup();
                streamsheetParser.WritePageSetup(_stagedPageSetupModel.BackingSheet.PageSetup);
            }
            if (_stagedPageSetupModel != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.HeaderFooter))
            {
                _stagedPageSetupModel.Cleanup();
                if (_stagedPageSetupModel.BackingSheet.HeaderFooter == null)
                {
                    _stagedPageSetupModel.BackingSheet.HeaderFooter = new CT_HeaderFooter();
                }
                _stagedPageSetupModel.BackingSheet.HeaderFooter.AlignWithMargins_Attr = false;
                streamsheetParser.WriteHeaderFooter(_stagedPageSetupModel.BackingSheet.HeaderFooter);
            }
            if (_stagedDrawingTag != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.Drawing))
            {
                streamsheetParser.WriteTag(_stagedDrawingTag);
                _stagedDrawingTag = null;
            }
            if (_stagedSheetBackgroundTag != null && IsGoingPast(streamsheetParser.CurrentSection, newSection, StreamsheetParser.StreamSheetSection.Picture))
            {
                streamsheetParser.WriteTag(_stagedSheetBackgroundTag);
                _stagedSheetBackgroundTag = null;
            }
            CheckAdvancingStatus(newSection, streamsheetParser);
        }