Всем привет! Хочу печатать текущую страницу с webBrowser в pdf
В 10 винде есть “Microsoft Print to PDF”
Стандартные примеры, когда принтеру посылают графику - работают.... а вот как послать на печать текущую страницу webBrowser контрола? Причем без диалоговых окон, так как мне программно разные страницы нужно сохранять.
private void button4_Click(object sender, EventArgs e)
{
// generate a file name as the current date/time in unix timestamp format
string file = (string)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds.ToString();
// the directory to store the output.
string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// initialize PrintDocument object
PrintDocument doc = new PrintDocument();
doc.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
doc.PrinterSettings.PrinterName = "Microsoft Print to PDF";
// tell the object this document will print to file
doc.PrinterSettings.PrintToFile = true;
doc.PrinterSettings.PrintFileName = Path.Combine(directory, file + ".pdf");
doc.Print();
//webBrowser1.Print();
}
private void pd_PrintPage(object o, PrintPageEventArgs e)
{
webBrowser1.Navigate("https://stackoverflow.com/questions/40812996/programmatically-provide-a-filepath-as-input-file-for-microsoft-print-to-pdf-p");
}
сохраняет пустой пдф документ...