public HomeController( [NotNull] IPageDocument pageDocument, [NotNull] IDataSupplier dataSupplier, [NotNull] ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger<HomeController>(); _pageDocument = pageDocument; _dataSupplier = dataSupplier; }
///// <summary> ///// 无作为的初始化对象 ///// </summary> //public PrintPage() //{ //} public PrintPage( IPageDocument document, XPageSettings pageSettings, PrintPageCollection pages, int headerHeight, int footerHeight) { myDocument = document; myPageSettings = pageSettings; myOwnerPages = pages; intHeaderHeight = headerHeight; intFooterHeight = footerHeight; intWidth = (int)myPageSettings.ViewClientWidth; // 对标准页高缩小点,避免由于某个页高正好等于标准页高时该页最下面 // 的线条无法显示和打印。(通融才能从容) intHeight = this.ViewStandardHeight - 10; }
public PageDocumentPaintEventArgs( Graphics graphics, Rectangle clipRectangle, IPageDocument document, PrintPage page, PageContentPartyStyle contentStyle) { _Graphics = graphics; _ClipRectangle = clipRectangle; _Document = document; _Page = page; _ContentStyle = contentStyle; if (page != null) { _PageIndex = page.GlobalIndex + 1; } }
/// <summary> /// 创建文档指定页的位图 /// </summary> /// <param name="doc">文档对象</param> /// <param name="pages">页面集合</param> /// <param name="PageIndex">指定页的序号</param> /// <param name="DrawBorder">是否绘制页面边框</param> /// <returns>生成的BMP位图文档对象</returns> public static byte[] GetPageMetafile( IPageDocument doc, PrintPageCollection pages, int PageIndex, bool DrawBorder, PageContentDrawer drawer) { drawer.Document = doc; drawer.Pages = pages; drawer.BackColor = System.Drawing.Color.White; if (DrawBorder) { drawer.BorderColor = System.Drawing.Color.Black; } else { drawer.BorderColor = System.Drawing.Color.Transparent; } return(drawer.GetMetafile(pages[PageIndex], true)); }
/// <summary> /// 创建文档指定页的位图 /// </summary> /// <param name="doc">文档对象</param> /// <param name="pages">页面集合</param> /// <param name="PageIndex">指定页的序号</param> /// <param name="DrawBorder">是否绘制页面边框</param> /// <returns>生成的BMP位图文档对象</returns> public static System.Drawing.Bitmap GetPageBmp( IPageDocument doc, PrintPageCollection pages, int PageIndex, bool DrawBorder, PageContentDrawer drawer) { drawer.Document = doc; drawer.Pages = pages; drawer.BackColor = System.Drawing.Color.White; if (DrawBorder) { drawer.BorderColor = System.Drawing.Color.Black; } else { drawer.BorderColor = System.Drawing.Color.Transparent; } System.Drawing.Bitmap bmp = drawer.GetPageBmp(pages[PageIndex], true); return(bmp); }
public MsHtmlPageElement(IPageDocument pageDocument, IHTMLElement htmlElement, IPageElement parentElement) { _htmlElement = htmlElement; PageDocument = pageDocument; Parent = parentElement; Attributes = new MsHtmlAttributes(htmlElement); Path = $"{(parentElement == null ? string.Empty : parentElement.Path)}/{Tag}"; _content = new Lazy<string>(GetContent); //create children list including references to previous and next element var list = new List<IPageElement>(); MsHtmlPageElement previousElement = null; foreach (IHTMLElement childElement in (IHTMLElementCollection) _htmlElement.children) { var currentElement = new MsHtmlPageElement(PageDocument, childElement, this); list.Add(currentElement); currentElement.PreviousSibling = previousElement; if (previousElement != null) { previousElement.NextSibling = currentElement; // calculate node index IPageElement element = previousElement; while (element != null) { if (element.Tag == Tag) { currentElement.NodeIndex = element.NodeIndex + 1; break; } element = element.PreviousSibling; } } previousElement = currentElement; } Children = list.ToArray(); }
/// <summary> /// 初始化对象 /// </summary> /// <param name="doc">文档对象</param> /// <param name="pages">页面集合</param> public DocumentPageDrawer(IPageDocument doc, PrintPageCollection pages) { this.myDocument = doc; this.myPages = pages; }