Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как распечатать файл из командной строки "правильным" приложением? (http://forum.oszone.net/showthread.php?t=135087)

Yewgeniy 18-03-2009 14:05 1067214

[решено] Как распечатать файл из командной строки "правильным" приложением?
 
так чтобы например pdf распечататался правильно как если бы его отправили на печать из например акробат ридера.
Если значок файла перетащить мышью на значок принтера, файл будет распечатан автоматически с использованием "родного" приложения.
Как сделать также из командной строки (или програмного кода)?

Petya V4sechkin 18-03-2009 15:35 1067315

Yewgeniy, можно .vbs скриптом:
Код:

Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "имя_файла", "", "", "print", 0
WScript.Sleep 1000


Iska 20-03-2009 21:51 1069761

Цитата:

Цитата Yewgeniy
Как сделать также из командной строки…? »

NirCmd:
Код:

nircmd.exe shexec "print" "<full file name>"

Vadikan 23-03-2009 07:45 1071639

Собственно говоря, у Adobe Reader есть свои параметры командной строки, в т. ч. и для печати.

Тихая печать
Код:

AcroRd32.exe /N /T PdfFile PrinterName [ PrinterDriver [ PrinterPort ] ]
http://www.robvanderwoude.com/comman...es.php#Acrobat

Vic12 05-09-2012 17:43 1983651

objShell.ShellExecute "имя_файла", "", "", "print", 0
Здесь где-нибудь можно указать сетевое имя принтера, чтобы, независимо от установленного по умолчанию, печатать на сетевом?

Michael 30-01-2019 11:29 2855324

Надо в автоматическом режиме печатать и сразу удалять pdf-файлы в определенном каталоге.
Строка
Код:

"c:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /n /t c:\temp\print\small.pdf
печатает как положено, но не закрывается окно adobe acrobat - оно остается свернутым в панель задач, соответственно батник не переходит к следующей команде.
Если использовать NirCmd
Код:

nircmd.exe shexec "print" "c:\TEMP\print\big.pdf"
то батник переходит к следующей строке не дожидаясь полного выполнения команды, т.е. непонятно когда можно удалять направленный на печать pdf-файл.
Как-то можно выйти из этой ситуации?
Версия Adobe acrobat reader - 11.0.15

mwz 30-01-2019 16:58 2855401

Цитата:

Цитата Michael
то батник переходит к следующей строке не дожидаясь полного выполнения команды »

Если из пакетного файла — то
Код:

start /wait nircmd.exe shexec "print" "c:\TEMP\print\big.pdf"

Iska 30-01-2019 19:08 2855423

mwz, не думаю, что это поможет: nircmd просто выполняет глагол «print», а саму печать осуществляет ассоциированное с данным глаголом приложение в асинхронном режиме.

Michael 31-01-2019 08:19 2855510

mwz, не работает.
Код:

start /wait nircmd.exe shexec "print" "c:\TEMP\print\big.pdf"
"c:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /n /t c:\temp\print\small.pdf

сначала печатает small.pdf, потом big.pdf, т.е. ожидания нет, ключ wait не работает.
Пробую пойти по другому пути - сначала pdf-файл перенести из каталога печати в подкаталог, отправлять его на печать из подкаталога через NirCmd, удалять позже - может на следующий день, может вручную

Iska 31-01-2019 18:40 2855610

Цитата:

Цитата Michael
сначала печатает small.pdf, потом big.pdf, т.е. ожидания нет, ключ wait не работает. »

Michael, ещё раз: команда start /wait работает. Но дело не в ней. И не в nircmd.exe. Дело в том, что nircmd.exe просто отсылает команду за запуск ассоциированного приложения, и на этом его миссия закончена. И снова: он просто запустил ассоциированное приложение и завершил свою работу. Печать ещё даже не начата, а он уже завершил свою работу. И начинает исполняться следующая команда. Посему не поможет тут никакая start /wait (она тут вообще совершенно лишняя).

Michael 31-01-2019 19:52 2855625

Iska, я это понял. Я имел в виду, что не работает в том смысле, который нужен мне - не ожидания конца постановки на печать

Iska 01-02-2019 06:47 2855710

Michael, так и задумывалось. Иначе все окна Проводника намертво зависали бы после открытия любого приложения — вплоть до того момента, пока Вы не завершите работу этого приложения.

Именно потому здесь: VBS: Скрипт автоматической печати "всяких" документов из папки — Серый форум похожая задача решалась не исполнением глагола указанного типа файла, а либо посредством Automation (там, где сие поддерживалось приложениями — например, Microsoft Office, Adobe Photoshop и т.п.), либо использованием командной строки (в частности — оговоренный выше в данной теме pdf — посредством утилиты pdfp.exe). Причём, в той теме, в общем-то, можно было обойтись и без этой утилиты, наплевав на то, что Adobe Reader не закрывает своё окно: ну, висит скрытое окно Adobe Reader'а — ну, и хрен с ним, пусть себе висит, есть не просит, для решения тамошней задачи этого было достаточно.

Michael 01-02-2019 11:47 2855728

Решил завести свою тему
Печатьpdf-файлов из командной строки.

Iska 01-02-2019 12:32 2855734

Michael, ссылка не на ту тему ведёт.

Michael 01-02-2019 13:05 2855739

Iska, спасибо, исправил


Время: 18:24.

Время: 18:24.
© OSzone.net 2001-