/// <summary> /// This handler is called after the navigation to header HTML completed. The document header is resized in this event handler /// </summary> /// <param name="eventParams">The event parameter containing the HTML content size in pixels and points</param> void headerHtml_NavigationCompletedEvent(NavigationCompletedParams eventParams) { // Get the header HTML width and height from event parameters float headerHtmlWidth = eventParams.HtmlContentWidthPt; float headerHtmlHeight = eventParams.HtmlContentHeightPt; // Get the header width float headerWidth = pdfDocument.Header.Width; // Calculate a resize factor to fit the header width float resizeFactor = 1; if (headerHtmlWidth > headerWidth) { resizeFactor = headerWidth / headerHtmlWidth; } // Calculate the header height to preserve the HTML aspect ratio float headerHeight = headerHtmlHeight * resizeFactor; if (!(headerHeight < pdfDocument.Pages[0].PageSize.Height - pdfDocument.Pages[0].Margins.Top - pdfDocument.Pages[0].Margins.Bottom)) { throw new Exception("The header height cannot be bigger than PDF page height"); } // Set the calculated header height pdfDocument.Header.Height = headerHeight; }
/// <summary> /// This handler is called after the navigation to header HTML completed. The document header is resized in this event handler /// </summary> /// <param name="eventParams">The event parameter containing the HTML content size in pixels and points</param> void headerHtml_NavigationCompletedEvent(NavigationCompletedParams eventParams) { // Get the header HTML width and height from event parameters float headerHtmlWidth = eventParams.HtmlContentWidthPt; float headerHtmlHeight = eventParams.HtmlContentHeightPt; // Calculate the header width from coverter settings float headerWidth = htmlToPdfConverter.PdfDocumentOptions.PdfPageSize.Width - htmlToPdfConverter.PdfDocumentOptions.LeftMargin - htmlToPdfConverter.PdfDocumentOptions.RightMargin; // Calculate a resize factor to fit the header width float resizeFactor = 1; if (headerHtmlWidth > headerWidth) { resizeFactor = headerWidth / headerHtmlWidth; } // Calculate the header height to preserve the HTML aspect ratio float headerHeight = headerHtmlHeight * resizeFactor; if (!(headerHeight < htmlToPdfConverter.PdfDocumentOptions.PdfPageSize.Height - htmlToPdfConverter.PdfDocumentOptions.TopMargin - htmlToPdfConverter.PdfDocumentOptions.BottomMargin)) { throw new Exception("The header height cannot be bigger than PDF page height"); } // Set the calculated header height htmlToPdfConverter.PdfDocumentOptions.DocumentObject.Header.Height = headerHeight; }