Использование Out-Printer в скрипте - PullRequest
0 голосов
/ 16 октября 2019

Таким образом, упомянутый метод отсюда (https://www.powershellgallery.com/packages/6Print/0.1.0/Content/Out-Printer.ps1)

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

Итак, мой ввод - изображение .tif, и я хочу напечатать pdf. Поэтому в оболочке я бы попробовал что-то вроде

>cd desktop
>. .\out-printer
>Out-Printer -ImagePath $env:userprofile\desktop\test.tif -PrinterName 'Microsoft Print to PDF' -PrintFileName $env:userprofile\Desktop\test.pdf -LandScape -PaperSize a4

Что было бы хорошо. Но допустим, я добавилфункция 'test' в нижней или верхней части 'Out-File.ps1', которая выглядит следующим образом:

function test(){
Out-Printer -ImagePath $env:userprofile\desktop\test.tif -PrinterName 'Microsoft Print to PDF' -PrintFileName $env:userprofile\Desktop\test.pdf -LandScape -PaperSize a4
}

и выполняется с > . '.\Out-Printer.ps1'; Test

Это дает мнеошибка, начинающаяся с:

New-Object: Der Typ [System.Drawing.Text.InstalledFontCollection] kann nicht gefunden werden. Stellen Sie sicher, dass die Assembly, die diesen Typ enthält, geladen wird. ВC: \ Users \ erdmannr \ desktop \ Out-Printer.ps1: 78 Zeichen: 27 + ... lledFonts = New-Object -TypeName "System.Drawing.Text.InstalledFontCo ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo: InvalidType: (:) [New-Object], PSArgumentException + FullyQualifiedErrorId: TypeNotFound, Microsoft.PowerShell.Commands.NewObjectCommand

Это продолжается некоторое время, и большинство ошибок касаются [System.Drawing. *]

Пожалуйста, помогите,я просто хочу напечатать .tif в * .pdf =)

1 Ответ

0 голосов
/ 17 октября 2019

Похоже, Out-Printer не загружает автоматически некоторые зависимости.

Вы можете загрузить сборку System.Drawing.dll вручную с помощью:

Add-Type -AssemblyName System.Drawing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...