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; }
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); }
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)); }
private FixedDocumentRenderer(ReportSettings reportSettings, PagesCollection pages) : base(pages) { this.pages = pages; this.reportSettings = reportSettings; this.docCreator = new FixedDocumentCreator(); }