Распечатать PDF-файл в PowerShell - PullRequest
0 голосов
/ 12 октября 2018

Мне нужно автоматически напечатать файл PDF в файл (необходимо, чтобы драйвер принтера установил все параметры печати, такие как сшивание, двусторонняя печать и т. Д.) В сетевой папке, чтобы другие сотрудники могли распечатывать файл .prn с сетевых принтеров.

После долгих поисков я обнаружил, что PowerShell может распечатать PDF-файл, используя

Start-Process -FilePath document.pdf -Verb Print

, который вызывает соответствующее приложение для печати PDF, но не позволяет мнеустановите флажок «Печать в файл».

Я мог бы установить порт принтера по умолчанию равным FILE:, но тогда для взаимодействия с пользователем необходимо указать имя файла .prn назначения.

Смежный вопрос( Печать в файл программно с использованием Adobe Acrobat ), кажется, показывает, что это возможно с C #, но я не смог ничего найти для PowerShell.Было бы идеально, если это возможно с PowerShell (я не знаю C #) или я застрял с программным взаимодействием с диалоговым окном «Сохранить в файл»?

Благодарен за любые подсказки.

1 Ответ

0 голосов
/ 13 октября 2018

Это должно помочь вам начать:

$PrintDocument = New-Object System.Drawing.Printing.PrintDocument
$PrintDocument.DocumentName = "c:\temp\yourPdf.pdf"
$printDocument.PrinterSettings.PrintToFile = $true
$printDocument.PrinterSettings.PrintFileName = 'c:\temp\test.txt'
$PrintDocument.Print()

, если вы посмотрите на $ printDocument.PrinterSettings, есть довольно много свойств:

($PrintDocument.PrinterSettings | gm -MemberType Property ).Name -join ','

CanDuplex,Collate,Copies,DefaultPageSettings,Duplex,FromPage,IsDefaultPrinter,IsPlotter,IsValid,LandscapeAngle,MaximumCopies,MaximumPage,MinimumPage,PaperSizes,PaperSources,PrinterName,PrinterResolutions,PrintFileName,PrintRange,PrintToFile,SupportsColor,ToPage
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...