用VB编程打印WebBrowser并设置其PrinterSettings



我正试图找到一种方法,在打印WebBrowser的内容时设置PrinterSettings,类似于以下代码

Dim doc As PrintDocument = New PrintDocument()
With doc
.PrinterSettings = New PrinterSettings()
With .PrinterSettings
.PrinterName = "PrinterName"
.PrintToFile = True
.PrintFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "test.pdf")
End With
End With
doc.Print()

我从我发现的一个C#代码中转换了这个代码,该代码告诉如何以编程方式设置PrinterSettings

有没有办法将上面的代码与WebBrowser.Print()结合起来,以便打印HTML并以编程方式设置PrinterSettings

我试过这样做,认为这段代码可能会将默认打印机设置为Microsoft Print to PDF

Dim doc As PrintDocument = New PrintDocument()
With doc
.PrinterSettings = New PrinterSettings()
With .PrinterSettings
.PrinterName = "Microsoft Print to PDF"
.PrintToFile = True
.PrintFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "test.pdf")
End With
End With
WebBrowser.Print()

但它在默认打印机上打印,而不是在Microsoft Print to PDF上打印

编辑:WebBrowser包含我试图以HTML格式和一些内联CSS打印的文档。WebBrowser没有UI,它是一个声明为Private WithEvents WebBrowser As WebBrowser的纯代码。希望这能帮我解决问题,谢谢。

编辑(2(:设置默认打印机对我来说是有问题的,因为打印机设置";让windows管理我的打印机"取消选中此选项允许应用程序设置默认打印机对K J的信用

试试这个:如果我帮助过你,请投票给我。

Dim doc As New PrintDocument()
With doc
With .PrinterSettings
.PrinterName = "PrinterName" ' exam: Fax
.PrintToFile = True
.PrintFileName = "The location of the file you want to print with the formula" ' exam -> C:CV.pdf
End With
End With
doc.Print()

最新更新