예제 #1
0
        SerializeObject(
            Object serializedObject
            )
        {
            DocumentPage dp = serializedObject as DocumentPage;

            if (dp != null)
            {
                Toolbox.EmitEvent(EventTrace.Event.WClientDRXGetVisualStart);
                Visual pageRootVisual = dp.Visual;
                Toolbox.EmitEvent(EventTrace.Event.WClientDRXGetVisualEnd);

                NgcSerializationManager NgcManager = SerializationManager as NgcSerializationManager;

                bool bManualStartDoc = NgcManager.StartPage();

                ReachSerializer serializer = SerializationManager.GetSerializer(pageRootVisual);
                serializer.SerializeObject(pageRootVisual);

                NgcManager.EndPage();
                if (bManualStartDoc)
                {
                    NgcManager.EndDocument();
                }
            }
        }
        EndPersistObjectData(
            bool isManualStartDoc
            )
        {
            NgcSerializationManager.EndPage();

            if (isManualStartDoc)
            {
                NgcSerializationManager.EndDocument();
            }
        }
예제 #3
0
        SerializeObject(
            Object serializedObject
            )
        {
            if (serializedObject == null)
            {
                throw new ArgumentNullException("serializedObject");
            }
            FixedDocumentSequence fds = serializedObject as FixedDocumentSequence;

            if (fds == null)
            {
                throw new ArgumentException(SR.Get(SRID.ReachSerialization_ExpectedFixedDocumentSequence));
            }

            NgcSerializationManager ngcManager = SerializationManager as NgcSerializationManager;

            if (!ngcManager.IsPrintTicketEventHandlerEnabled)
            {
                //ngcManager.FdsPrintTicket = fds.PrintTicket as PrintTicket;
            }
            else
            {
                XpsSerializationPrintTicketRequiredEventArgs printTicketEvent =
                    new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedDocumentSequencePrintTicket,
                                                                     0);
                ngcManager.OnNGCSerializationPrintTicketRequired(printTicketEvent);
            }

            ngcManager.StartDocument(fds, false);

            ReachSerializer serializer = ngcManager.GetSerializer(fds.References);

            serializer.SerializeObject(fds.References);

            ngcManager.EndDocument();

            XpsSerializationProgressChangedEventArgs e =
                new XpsSerializationProgressChangedEventArgs(XpsWritingProgressChangeLevel.FixedDocumentSequenceWritingProgress,
                                                             0,
                                                             0,
                                                             null);

            ngcManager.OnNGCSerializationProgressChagned(e);
        }
예제 #4
0
        SerializeObject(
            Object serializedObject
            )
        {
            NgcSerializationManager ngcManager = SerializationManager as NgcSerializationManager;
            DocumentPaginator       paginator  = (DocumentPaginator)serializedObject;

            //
            // For FlowDocument, the application might attach a PrintTicket DP on it.
            //
            DependencyObject dependencyObject = paginator != null ? paginator.Source as DependencyObject : null;

            if (dependencyObject != null)
            {
                if (!ngcManager.IsPrintTicketEventHandlerEnabled)
                {
                    //ngcManager.FdPrintTicket = dependencyObject.GetValue(FixedDocument.PrintTicketProperty) as PrintTicket;
                }
            }

            ngcManager.StartDocument(paginator, true);

            if (paginator != null)
            {
                for (int i = 0; !paginator.IsPageCountValid || (i < paginator.PageCount); i++)
                {
                    DocumentPage page = Toolbox.GetPage(paginator, i);

                    ReachSerializer serializer = SerializationManager.GetSerializer(page);

                    if (serializer != null)
                    {
                        serializer.SerializeObject(page);
                    }
                }
            }

            ngcManager.EndDocument();
        }
예제 #5
0
        SerializeObject(
            Object serializedObject
            )
        {
            NgcSerializationManager ngcManager = SerializationManager as NgcSerializationManager;

            if (serializedObject == null)
            {
                throw new ArgumentNullException("serializedObject");
            }

            FixedPage fp = serializedObject as FixedPage;

            if (fp == null)
            {
                throw new ArgumentException(SR.Get(SRID.ReachSerialization_ExpectedFixedPage));
            }

            bool bManualStartDoc = ngcManager.StartPage();

            Size pageSize = new Size(fp.Width, fp.Height);

            ngcManager.PageSize = pageSize;

            Visual visual = (Visual)serializedObject as Visual;

            if (visual != null)
            {
                ngcManager.WalkVisual(visual);
            }

            ngcManager.EndPage();
            if (bManualStartDoc)
            {
                ngcManager.EndDocument();
            }
        }
예제 #6
0
        SerializeObject(
            Object serializedObject
            )
        {
            if (serializedObject == null)
            {
                throw new ArgumentNullException("serializedObject");
            }
            FixedDocument fd = serializedObject as FixedDocument;

            if (fd == null)
            {
                throw new ArgumentException(SR.Get(SRID.ReachSerialization_ExpectedFixedDocument));
            }
            NgcSerializationManager ngcManager = SerializationManager as NgcSerializationManager;

            ngcManager.StartDocument(fd, true);

            ReachSerializer serializer = ngcManager.GetSerializer(fd.Pages);

            serializer.SerializeObject(fd.Pages);

            ngcManager.EndDocument();
        }
 EndPersistObjectData(
     )
 {
     NgcSerializationManager.EndDocument();
 }