У меня возникла проблема с Adobe Reader и FoxIt Reader при попытке распечатать PDF-документ. Обе проблемы разные, но решение любой из них позволит мне решить мою проблему.
Проблема, с которой я сталкиваюсь с Adobe Reader при попытке печати с использованием следующего кода, заключается в том, что он не будет печатать его на указанном мной сетевом принтере, а только на принтере по умолчанию.
Dim AdobeReader As New Process
AdobeReader.StartInfo.CreateNoWindow = False
AdobeReader.StartInfo.Verb = "print"
AdobeReader.StartInfo.FileName = SQLdr("DocumentName") & ".pdf"
Select Case SQLdr("Priority")
Case 1
AdobeReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority1)
Case 2
AdobeReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority2)
Case 3
AdobeReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority3)
Case 4
AdobeReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority4)
Case 5
AdobeReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority5)
End Select
AdobeReader.Start()
AdobeReader.WaitForExit(10000)
AdobeReader.Close()
Я также пробовал приведенный выше код с двойными кавычками вокруг имени документа и имени принтера.
Проблема, с которой я столкнулся с FoxIt, заключается в том, что когда я пытаюсь распечатать следующий код, он выдает эту ошибку «Ни одно приложение не связано с указанным файлом для этой операции» в FoxItReader.Start.
Dim FoxItReader As New Process
FoxItReader.StartInfo.CreateNoWindow = False
FoxItReader.StartInfo.Verb = "print"
FoxItReader.StartInfo.FileName = "C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe"
Select Case SQLdr("Priority")
Case 1
FoxItReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority1)
Case 2
FoxItReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority2)
Case 3
FoxItReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority3)
Case 4
FoxItReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority4)
Case 5
FoxItReader.StartInfo.Arguments = String.Format("/t {0} {1}", SQLdr("DocumentName") & ".pdf", printPriority5)
End Select
FoxItReader.Start()
FoxItReader.WaitForExit(10000)
FoxItReader.Close()
С приведенным выше кодом я также пытался использовать двойные кавычки вокруг переменных, но это также не сработало.
Любая помощь в этом вопросе будет высоко оценена.
ИЗМЕНИТЬ
Также я забыл сказать, что и принтер, и PDF-файл расположены на сервере, поэтому я пытаюсь использовать общий принтер и PDF-файл по сетевым путям (\\SERVER\FILE.PDF).