2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
发布日期 2021年03月02日
DotNetBrowser 2.4
What’s New
Printing API
The Printing API is back – improved and redesigned. Now you can print pages and documents as well as savе web pages to PDF silently from the code.
With the new Printing API you can:
- select a printer device;
- provide the required print settings such as paper size, orientation, page ranges, etc.;
- get notifications when printing is completed;
- cancel printing;
- save the currently loaded web page to a PDF document and more.
The following example demonstrates how to save the currently loaded web page as a PDF:
// Tell the Chromium engine to perform the printing programmatically.
browser.RequestPrintHandler =
new Handler<RequestPrintParameters, RequestPrintResponse>(p =>
{
return RequestPrintResponse.Print();
});
// This handler is used for printing regular web pages programmatically.
browser.PrintHtmlContentHandler
= new Handler<PrintHtmlContentParameters, PrintHtmlContentResponse>(p =>
{
string pdfFilePath = Path.GetFullPath("result.pdf");
// Get the print job for the built-in PDF printer.
IPrintJob<PdfPrinter.IHtmlSettings> printJob = p.Printers.Pdf.PrintJob;
// Subscribe to its PrintCompleted event and show a message box when it's done.
printJob.PrintCompleted += (sender, args) =>
{
BeginInvoke((Action) (() =>
{ MessageBox.Show("Printing completed: \n"+pdfFilePath); }));
};
// Apply the necessary print settings
printJob.Settings.Apply(s =>
{
// Enable printing header and footer.
s.PrintingHeaderFooterEnabled = true;
// Specify the path to save the result.
s.PdfFilePath = pdfFilePath;
});
// Tell Chromium to use the built-in PDF printer for printing.
return PrintHtmlContentResponse.Print(p.Printers.Pdf);
});
// Load the web page and wait until it is loaded completely.
browser.Navigation.LoadUrl("teamdev.com").Wait();
// Initiate printing.
browser.MainFrame.Print();
.NET 5 support
DotNetBrowser is tested and proven to integrate with .NET 5 desktop applications.
Improvements
- The Print Preview dialog has been clipped off from the top of the form and positioned lower to improve user experience.
-
AuthenticateParameters.Realm
property was added to provide the realm of the authentication challenge.
Fixed issues
- Excessive CPU and GPU usage by the native process with multiple tabs with WPF
BrowserView
instances in the hardware-accelerated mode. - WPF
BrowserView
crashing in the hardware-accelerated mode. - Few memory leaks for registering/unregistering .NET objects via JS-.NET bridge.
- The Tab key not working properly with WPF
BrowserView
. - The scrolling of a page stopping if the mouse pointer is hovered out of WPF
BrowserView
component in the Off-screen rendering mode. - The focus traversal entering the infinite loop when displaying a popup.
Request evaluation license
Download DotNetBrowser 2.4 (.NET Framework)
Download DotNetBrowser 2.4 (.NET Core)
关注 @DotNetBrowser ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。