Exemple #1
0
        public override void RenderOutput()
        {
            base.RenderOutput();

            foreach (var page in pages)
            {
                FixedPage fixedPage = docCreator.CreatePage(page);
                FixedDocumentCreator.ArrangePage(document.DocumentPaginator.PageSize, fixedPage);
                AddPageToDocument(document, fixedPage);
            }
            Document = document;
        }
Exemple #2
0
        public void Print(IEnumerable pages, Size pageSize)
        {
            bool isLandScape = pageSize.Width > pageSize.Height;
            Size paperSize   = isLandScape ? pageSize.Rotate90() : pageSize;

            PrintTicket ticket = printQueue.DefaultPrintTicket;

            ticket.PageMediaSize   = paperSize.ToPageMediaSize();
            ticket.PageOrientation = PageOrientation.Portrait;

            // FixedDocumentを生成
            FixedDocument document = new FixedDocumentCreator().FromDataContexts(pages, pageSize);

            // 印刷
            XpsDocumentWriter writer = PrintQueue.CreateXpsDocumentWriter(printQueue);

            writer.Write(document);
        }
Exemple #3
0
        public void Print(IEnumerable pages, Size pageSize)
        {
            var isLandscape = pageSize.Width > pageSize.Height;
            var mediaSize   = isLandscape ? new Size(pageSize.Height, pageSize.Width) : pageSize;

            // Set up print ticket.
            var ticket = printQueue.DefaultPrintTicket;

            ticket.PageMediaSize   = new PageMediaSize(mediaSize.Width, mediaSize.Height);
            ticket.PageOrientation = PageOrientation.Portrait;

            // Generate FixedDocument to be printed from data contexts.
            var document = new FixedDocumentCreator().FromDataContexts(pages, pageSize);

            // Print.
            var writer = PrintQueue.CreateXpsDocumentWriter(printQueue);

            writer.Write(document);
        }
        PrintAsync(
            IEnumerable pages,
            Size pageSize,
            CancellationToken cancellationToken = default(CancellationToken)
            )
        {
            var isLandscape = pageSize.Width > pageSize.Height;
            var mediaSize   = isLandscape ? new Size(pageSize.Height, pageSize.Width) : pageSize;

            // Set up print ticket.
            var ticket = printQueue.DefaultPrintTicket;

            ticket.PageMediaSize   = new PageMediaSize(mediaSize.Width, mediaSize.Height);
            ticket.PageOrientation = PageOrientation.Portrait;

            // Generate FixedDocument to be printed.
            var document = new FixedDocumentCreator().FromDataContexts(pages, pageSize);

            // Print asynchronously.
            var writer = PrintQueue.CreateXpsDocumentWriter(printQueue);

            return(writer.WriteAsyncAsTask(document, cancellationToken));
        }
Exemple #5
0
 private FixedDocumentRenderer(ReportSettings reportSettings, PagesCollection pages) : base(pages)
 {
     this.pages          = pages;
     this.reportSettings = reportSettings;
     this.docCreator     = new FixedDocumentCreator();
 }