コード例 #1
0
ファイル: XpsOMPackagingPolicy.cs プロジェクト: yk2012985/wpf
        GeneratePrintTicketResource(
            ContentType contentType,
            PrintTicket printTicket
            )
        {
            IXpsOMPrintTicketResource printTicketResource  = null;
            XpsPrintStream            printTicketXpsStream = XpsPrintStream.CreateXpsPrintStream();

            printTicket.SaveTo(printTicketXpsStream);
            IStream printTicketStream = printTicketXpsStream.GetManagedIStream();

            Uri printTicketUri = _xpsManager.GeneratePrintTicketUri(contentType);

            try
            {
                IOpcPartUri printTicketPart = GenerateIOpcPartUri(printTicketUri);
                printTicketResource = _xpsOMFactory.CreatePrintTicketResource(printTicketStream, printTicketPart);
            }
            catch (COMException)
            {
                Invalidate();
                throw new PrintingCanceledException();
            }

            return(printTicketResource);
        }
コード例 #2
0
ファイル: XpsOMPackagingPolicy.cs プロジェクト: yk2012985/wpf
        AddCurrentPageToPackageWriter()
        {
            try
            {
                _currentFixedPageXmlWriter.Flush();
                IStream     pageMarkupStream = _currentFixedPagePrintStream.GetManagedIStream();
                IOpcPartUri partUri          = GenerateIOpcPartUri(_currentFixedPageUri);

                if (_currentPagePrintTicket == null)
                {
                    _currentPagePrintTicket = new PrintTicket();
                }

                IXpsOMPrintTicketResource printTicketResource = GeneratePrintTicketResource(XpsS0Markup.FixedPageContentType, _currentPagePrintTicket);
                _currentFixedPagePrintStream.Seek(0, SeekOrigin.Begin);
                _currentFixedPageWriter = _xpsOMFactory.CreatePageFromStream(pageMarkupStream, partUri, _xpsPartResources, 0);

                SetHyperlinkTargetsForCurrentPage();

                XPS_SIZE xpsSize = new XPS_SIZE()
                {
                    width = (float)_currentPageSize.Width, height = (float)_currentPageSize.Height
                };
                _currentFixedDocumentSequenceWriter.AddPage(_currentFixedPageWriter, xpsSize, null, null, printTicketResource, null);
            }
            catch (COMException)
            {
                Invalidate();
                throw new PrintingCanceledException();
            }
        }
コード例 #3
0
ファイル: XpsOMPackagingPolicy.cs プロジェクト: yk2012985/wpf
 StartNewDocument()
 {
     try
     {
         Uri uri = _xpsManager.GenerateUniqueUri(XpsS0Markup.FixedDocumentContentType);
         _currentFixedDocumentUri = uri;
         IOpcPartUri partUri = GenerateIOpcPartUri(uri);
         if (_currentDocumentPrintTicket == null)
         {
             _currentDocumentPrintTicket = new PrintTicket();
         }
         IXpsOMPrintTicketResource printTicketResource = GeneratePrintTicketResource(XpsS0Markup.FixedDocumentContentType, _currentDocumentPrintTicket);
         _currentFixedDocumentSequenceWriter.StartNewDocument(partUri, printTicketResource, null, null, null);
         _currentFixedDocumentWriterRef++;
     }
     catch (COMException)
     {
         Invalidate();
         throw new PrintingCanceledException();
     }
 }