Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Как отправить на печать документ в формате pdf

Ответить
Настройки темы
PowerShell - Как отправить на печать документ в формате pdf

Пользователь


Сообщения: 142
Благодарности: 2


Конфигурация

Профиль | Отправить PM | Цитировать


Прошарил весь интернет, нигде не нашёл.

Отправлено: 07:55, 23-10-2013

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Попробуйте, я проверить не могу:
Код: Выделить весь код
start-process ( get-item file.pdf ).fullname -verb print
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:24, 23-10-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 142
Благодарности: 2

Профиль | Отправить PM | Цитировать


примерно такое мне и подсказали: вот.

PS Но мне это не подходит по одной причине: там печать идёт на принтере по умолчанию, а мне нужно выбирать принтер, на котором будет идти печать.

Последний раз редактировалось Lich130387, 23-10-2013 в 10:01. Причина: ЗЫ


Отправлено: 10:00, 23-10-2013 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


AcroRd32.exe /N /T PdfFile PrinterName

Отправлено: 19:10, 23-10-2013 | #4


Пользователь


Сообщения: 142
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Kazun:
d32.exe /N /T PdfFile PrinterName »
в компандой строке такое работает, а повершелле я не могу заставить его работать.
У меня эта строка выглядит так: C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe /N /T f:\test\Tst.pdf doPDF v7

Отправлено: 11:45, 25-10-2013 | #5


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


&"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe" /N /T "f:\test\Tst.pdf" "doPDF v7"

Отправлено: 11:49, 25-10-2013 | #6


Пользователь


Сообщения: 142
Благодарности: 2

Профиль | Отправить PM | Цитировать


Написал такой скрипт:
Код: Выделить весь код
cls

function Print-File ($FilePath=“f:\test\Tst.pdf”)
{
    Start-Process –FilePath $FilePath –Verb Print -PassThru | %{sleep 10;$_} | kill     
}

function Get-DefaultPrinter {
    $printer = Get-WmiObject win32_printer
    foreach($prn in $printer) {
        if ($prn.Default) {return $prn}
    }  
     
}

function Set-DefaultPrinter ($name) {
    if (!$name) {    
        Write-Host "Не указано имя принтера. Операция прервана"
        return 0
    }
    else {
        $internal = GWMI -class Win32_Printer | Where {$_.Name -eq $name} 
        $internal.SetDefaultPrinter()
        return 1
    }
} 

$printer = Get-WmiObject win32_printer
$DefPrnName = $NULL
$prns = @()
$i = 1

$DefPrnName = (Get-DefaultPrinter).Name

do 
{
    Write-Host "Печатать на принтере, выбранном по умолчанию ($DefPrnName)? (y - yes,n - no, x - exit)"
    $ans1 = Read-Host
    if ($ans1 -eq "x") {exit}
 } until (($ans1 -ine "y") -or ($ans1 -ine "n"))


If ($ans1 -eq "y") {Print-File}
elseif ($ans1 -eq "n") 
{
    Write-Host "Выберете принтер для печати тестовой страницы:"
    foreach($prn in $printer) 
    {
        $prns += $prn
        Write-Host $i -NoNewline
        Write-Host (") "+$prn.Name) 
        $i++
    }
    Write-Host "0) Выход" 
    
    $i--       
    $numprn = Read-host

    If ($numprn -eq 0) {exit}
    $result = $NULL
    If ($numprn -match "[1-$i]") {
        $result = Set-DefaultPrinter ($prns[$numprn-1].Name) 
        $DefPrnName = (Get-DefaultPrinter).Name
        Write-Host "По умолчанию установлен принтер $DefPrnName"
                }
    If ($result -eq "1") {Print-File}

}
По крайней мере, функцию свою выполняет.
Чуть позже попробую воспользоваться советом Kazun, возможно, скрипт станет попроще.

Отправлено: 13:50, 25-10-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Как отправить на печать документ в формате pdf

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Абракадабра с выводом pdf на печать The_Immortal Microsoft Windows 2000/XP 8 24-09-2012 18:55
[решено] Подскажите чем открыть документ в формате xml ? micro8 Хочу все знать 8 12-05-2012 14:30
[решено] Печать страницы *.pdf документа на нескольких листах. LilLoco Хочу все знать 6 30-09-2011 15:26
2010 - Powerpoint | Печать слайда в формате А1 на принтере формата А4 Drec555 Microsoft Office (Word, Excel, Outlook и т.д.) 3 06-06-2011 18:10
Невозможно открыть документы в формате .pdf Marusya Хочу все знать 9 19-01-2003 20:54




 
Переход