使用 printdialog 打印 PDF 文件 vb.net
Print PDF file with printdialog vb.net
我正在尝试使用 printdialog 选项打印外部 pdf 文件,但该文件是使用预先确定的打印机配置打印的
Dim result As DialogResult = PrintDialog1.ShowDialog()
If (result = DialogResult.OK) Then
Dim psi As New ProcessStartInfo
psi.UseShellExecute = True
psi.Verb = "print"
psi.WindowStyle = ProcessWindowStyle.Hidden
psi.Arguments = PrintDialog1.PrinterSettings.PrinterName.ToString()
psi.FileName = "file.pdf"
Process.Start(psi)
End If
您需要使用“PrintTo”动词而不是“Print”动词。如果其中可能有空格,您还需要将打印机名称用引号引起来。我建议让您的代码更加简洁:
Process.Start(New ProcessStartInfo("file.pdf",
$"""{PrintDialog1.PrinterSettings.PrinterName}""") With {.Verb = "printto",
.UseShellExecute = True,
.WindowStyle = ProcessWindowStyle.Hidden})
我正在尝试使用 printdialog 选项打印外部 pdf 文件,但该文件是使用预先确定的打印机配置打印的
Dim result As DialogResult = PrintDialog1.ShowDialog()
If (result = DialogResult.OK) Then
Dim psi As New ProcessStartInfo
psi.UseShellExecute = True
psi.Verb = "print"
psi.WindowStyle = ProcessWindowStyle.Hidden
psi.Arguments = PrintDialog1.PrinterSettings.PrinterName.ToString()
psi.FileName = "file.pdf"
Process.Start(psi)
End If
您需要使用“PrintTo”动词而不是“Print”动词。如果其中可能有空格,您还需要将打印机名称用引号引起来。我建议让您的代码更加简洁:
Process.Start(New ProcessStartInfo("file.pdf",
$"""{PrintDialog1.PrinterSettings.PrinterName}""") With {.Verb = "printto",
.UseShellExecute = True,
.WindowStyle = ProcessWindowStyle.Hidden})