@Jeisooo
IT

Аналог символа % из cmd в powershell

Добрый день.
При передаче параметра во внешнюю утилиту Imagemagic для конвертирования многостраничного .pdf в .tiff конвертируется только первая страница. В поисках решения набрел на такой код:
convert original.tif output%d.tif

Символ % не работает в PS так же, как и в CMD, и на выходе я получаю в корне 0.tif с одной первой страницей.
$convert = 'C:\Program Files\ImageMagick-6.8.2-Q16\convert.exe'
$one = Get-Item '.\default.pdf'
$one
& $convert -density 200 -compress group4 $one 'c:\%d.tiff'


Подскажите, как правильно передать параметр, чтобы страницы обработались правильно.
  • Вопрос задан
  • 4606 просмотров
Решения вопроса 1
@Jeisooo Автор вопроса
IT
Проблема решена.
Надо отредактировать файл delegates.xml с в директории Imagemagic. Секцию обработки альфа канала.

<delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>

Источник

Утилита начинает выдавать отдельно все страницы PDF, которые потом можно слепить в один tiff командой mogrify.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@lair
PS > Write-Output 'c:\%d.tiff'
c:\%d.tiff


PowerShell тут вообще не при чем.
Ответ написан
Комментировать
@Jeisooo Автор вопроса
IT
Тут указан именно этот метод разбития мультистраничного Pdf на страницы. Вроде как утилита convert.exe сама понимает, что надо извлекать циклом все страницы. Поэтому и грешу на этот символ.
Ответ написан
Комментировать
ApeCoder
@ApeCoder
В павершел искейпинг происходит символом ` попробуйте `%
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы