Esempio n. 1
0
 public DeviceRunAnalyzePrintPreviewWindow(string strTmplName, Object data, IDocumentRenderer renderer = null) : this()
 {
     if (data is List <DeviceRunAnalyzeListViewModel> )
     {
         List <DeviceRunAnalyzeListViewModel> resultList = data as List <DeviceRunAnalyzeListViewModel>;
         var m_doclist = new List <FlowDocument>();
         foreach (var result in resultList)
         {
             m_doclist.Add(LoadDocumentAndRender(strTmplName, result, renderer));
         }
         Dispatcher.BeginInvoke(new PrintHelper.LoadManyXpsMethod(PrintHelper.LoadManyXps), DispatcherPriority.ApplicationIdle, m_doclist, docViewer);
     }
     else
     {
         var m_doc = LoadDocumentAndRender(strTmplName, data, renderer);
         Dispatcher.BeginInvoke(new PrintHelper.LoadXpsMethod(PrintHelper.LoadXps), DispatcherPriority.ApplicationIdle, m_doc, docViewer);
     }
 }
Esempio n. 2
0
 /* ----------------------------------------------------------------- */
 ///
 /// Create
 ///
 /// <summary>
 /// Create a new instance of the ImageSource class with the
 /// specified parameters.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="page">Page object.</param>
 /// <param name="ratio">Scaling ratio.</param>
 ///
 /// <returns>ImageSource object.</returns>
 ///
 /* ----------------------------------------------------------------- */
 public static ImageSource Create(this IDocumentRenderer src, Page page, double ratio) =>
 src.Create(page, page.GetViewSize(ratio).Value);
Esempio n. 3
0
 /* ----------------------------------------------------------------- */
 ///
 /// Create
 ///
 /// <summary>
 /// Create a new instance of the ImageSource class with the
 /// specified parameters.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="entry">Information of the creating image.</param>
 ///
 /// <returns>ImageSource object.</returns>
 ///
 /* ----------------------------------------------------------------- */
 public static ImageSource Create(this IDocumentRenderer src, ImageItem entry) =>
 src.Create(entry.RawObject, new SizeF(entry.Width, entry.Height));
Esempio n. 4
0
 /* ----------------------------------------------------------------- */
 ///
 /// Create
 ///
 /// <summary>
 /// Create a new instance of the ImageSource class with the
 /// specified parameters.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="page">Page object.</param>
 /// <param name="size">Image size.</param>
 ///
 /// <returns>ImageSource object.</returns>
 ///
 /* ----------------------------------------------------------------- */
 public static ImageSource Create(this IDocumentRenderer src, Page page, SizeF size) =>
 page.File is ImageFile f?Create(f, size) : src?.Render(page, size).ToBitmapImage();
Esempio n. 5
0
        public static FlowDocument LoadDocumentAndRender(string strTmplName, Object data, IDocumentRenderer renderer = null)
        {
            FlowDocument doc = null;

            try
            {
                doc             = (FlowDocument)Application.LoadComponent(new Uri(strTmplName, UriKind.RelativeOrAbsolute));
                doc.PagePadding = new Thickness(50);
                doc.DataContext = data;
                if (renderer != null)
                {
                    renderer.Render(doc, data);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("异常(LoadDocumentAndRender):\n" + ex.Message);
            }
            return(doc);
        }
        public static FlowDocument LoadDocumentAndRender(string strTmplName, Object data, IDocumentRenderer renderer = null)
        {
            FlowDocument doc = (FlowDocument)Application.LoadComponent(new Uri(strTmplName, UriKind.RelativeOrAbsolute));

            doc.PagePadding = new Thickness(50);
            doc.DataContext = data;
            if (renderer != null)
            {
                renderer.Render(doc, data);
            }
            return(doc);
        }
 /* ----------------------------------------------------------------- */
 ///
 /// GetImage
 ///
 /// <summary>
 /// Gets an Image object in which the Page content is rendered.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="page">Page object.</param>
 /// <param name="scale">Scale factor.</param>
 ///
 /// <returns>Image object</returns>
 ///
 /* ----------------------------------------------------------------- */
 public static Image Render(this IDocumentRenderer src, Page page, double scale) =>
 src.Render(page, page.GetViewSize(scale).Value);
 /* ----------------------------------------------------------------- */
 ///
 /// Render
 ///
 /// <summary>
 /// Gets an Image object in which the Page content is rendered.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="page">Page object.</param>
 ///
 /// <returns>Image object</returns>
 ///
 /* ----------------------------------------------------------------- */
 public static Image Render(this IDocumentRenderer src, Page page) =>
 src.Render(page, 1.0);
 /* ----------------------------------------------------------------- */
 ///
 /// Render
 ///
 /// <summary>
 /// Renders the Page content to the Graphics object.
 /// </summary>
 ///
 /// <param name="src">Renderer object.</param>
 /// <param name="dest">Graphics object.</param>
 /// <param name="page">Page object.</param>
 ///
 /* ----------------------------------------------------------------- */
 public static void Render(this IDocumentRenderer src, Graphics dest, Page page) =>
 src.Render(dest, page, new PointF(0, 0), dest.VisibleClipBounds.Size);
Esempio n. 10
0
        public static FlowDocument LoadDocumentAndRender(string strTmplName, Object data, IDocumentRenderer renderer = null)
        {
            FlowDocument doc = (FlowDocument)Application.LoadComponent(new Uri(strTmplName, UriKind.RelativeOrAbsolute));

            doc.PagePadding = new Thickness(50);
            doc.DataContext = data;
            if (renderer != null)
            {
                renderer.Render(doc, data);
                DocumentPaginator paginator = ((IDocumentPaginatorSource)doc).DocumentPaginator;
                paginator.PageSize = new Size(1188, 840);
                //doc.PagePadding = new Thickness(50, 50, 50, 50);
                doc.ColumnWidth = double.PositiveInfinity;
            }
            return(doc);
        }
        /// <summary>
        /// 容器
        /// </summary>
        /// <param name="strTmplName"></param>
        /// <param name="data"></param>
        /// <param name="renderer"></param>
        /// <returns></returns>
        public static FlowDocument LoadDocumentAndRender(string strTmplName, Object data, IDocumentRenderer renderer = null)
        {
            //strTmplName 流文件地址
            // UriKind.RelativeOrAbsolute 用指定的 URI 初始化 Uri 类的新实例。 此构造函数允许指定 URI 字符串是相对 URI、绝对 URI 还是不确定
            //打开流文件 并存储到流文档容器中
            FlowDocument doc = (FlowDocument)Application.LoadComponent(new Uri(strTmplName, UriKind.RelativeOrAbsolute));

            //设置外边距
            doc.PagePadding = new Thickness(50);
            //DataContext 获取或设置元素在参与数据绑定时的数据上下文。
            doc.DataContext = data;
            if (renderer != null)
            {
                renderer.Render(doc, data);
            }
            return(doc);
        }
Esempio n. 12
0
        public static FlowDocument LoadDocumentAndRender(string strTmplName, JArray data, DateTime DataDateTime, IDocumentRenderer renderer = null)
        {
            FlowDocument doc = (FlowDocument)Application.LoadComponent(new Uri($"/Office.Work.Platform;component/Remuneration/{strTmplName}", UriKind.RelativeOrAbsolute));

            //doc.PagePadding = new Thickness(50);
            //doc.DataContext = data;
            if (renderer != null)
            {
                renderer.Render(doc, data, DataDateTime);
            }
            return(doc);
        }
Esempio n. 13
0
 public PrintPreviewWin(string strTmplName, double P_DocWidth, double P_DocHeight, JArray data, DateTime DataDateTime, IDocumentRenderer renderer = null)
 {
     InitializeComponent();
     m_doc             = LoadDocumentAndRender(strTmplName, data, DataDateTime, renderer);
     m_doc.PageWidth   = P_DocWidth;
     m_doc.PageHeight  = P_DocHeight;
     m_doc.ColumnWidth = P_DocWidth;
     m_doc.Background  = System.Windows.Media.Brushes.Transparent;
     m_doc.PagePadding = new Thickness(85, 70, 85, 70);//设置页面与页面之间的边距宽度
     Dispatcher.BeginInvoke(new LoadXpsMethod(LoadXps), DispatcherPriority.ApplicationIdle);
 }
Esempio n. 14
0
 public Renderer(IDocumentRenderer renderer, IPageWriter writer)
 {
     _renderer = renderer;
     _writer   = writer;
 }