2014-02-18 2 views
0

Я пытаюсь написать небольшое настольное приложение, которое просто сидит и печатает файлы по мере их загрузки.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

+0

Кроме того, добавьте, что вы имеете в виду под «не работает». –

ответ

0

Почему бы просто не использовать Process.Start(String, String)? Гораздо более прямолинейно и чисто. Затем вы можете использовать возвращенный Diagnostics.Process для запуска других команд, таких как WaitForInputIdle().
 

Вы, вероятно, использовать что-то вроде этого:

Dim proc As Process = Process.Start("AcroRd32.exe", _ 
           String.Format("/N /T {0} ""{1}""", _ 
           "C:\Path\to\201402124_label.pdf", "Brother QL-700") 
+0

Это сработало чудесно. – DavidScherer

+0

Нет проблем. Получайте удовольствие от кодирования. –

Смежные вопросы