Я пытаюсь написать небольшое настольное приложение, которое просто сидит и печатает файлы по мере их загрузки.VB.Net Печать PDF-сбоев (но эквивалентные работы от PowerShell)
Отправка PDF файла на принтер с помощью PowerShell отлично работает и печатает:
.\AcroRd32.exe /N /T C:\Path\to\201402124_label.pdf "Brother QL-700"
Однако, делая то же самое в Visual Studio 2012 не работает. Окно Adobe Reader открывается этикеткой и закрывается, но файл никогда не отображается на распечатанном принтере. Это не имеет смысла, так как этот же код в настоящее время работает для отправки больших файлов PDF в дуплексном принтер таким же образом (только с помощью другого принтера, сохраненного в My.Settings):
For Each file As IO.FileInfo In files
If file.CreationTime > My.Settings.LastRunDate Then
MsgBox(file.Name)
Dim startInfo As New ProcessStartInfo
Dim proc As Process = New Process
startInfo.WindowStyle = ProcessWindowStyle.Hidden
startInfo.Verb = "print"
startInfo.Arguments = My.Settings.LabelPrinterSettings.PrinterName.ToString
startInfo.UseShellExecute = True
startInfo.CreateNoWindow = True
startInfo.FileName = file.FullName
proc.StartInfo = startInfo
proc.Start()
proc.WaitForInputIdle()
proc.CloseMainWindow()
End If
Next
Я не могу понять почему это делается над CLI/PowerShell, но не внутри VB.net
Кроме того, добавьте, что вы имеете в виду под «не работает». –