Войти

Показать полную графическую версию : непонятки с запуском GSView из ком.строки


alar73
14-03-2021, 14:58
Доброго времени суток!

Пытаюсь конвертировать pdf в jpeg из командной строки GSView.

Вот так работает:


md "%cd%\%~n1\"
"c:\Program Files\gs\gs9.53.3\bin\gswin64c.exe" -dSAFER -dBatch -dNOPAUSE -sDEVICE=jpeg -dJPEGQ=100 -r200 -sOutputFile="%cd%\%~n1\%%03d.jpg" %1


т.е. создает в текущем каталоге каталог с именем как у pdf файла, только без расширения и в него распаковывает все страницы.
только по окончании GS не закрывается, как вроде должен, ну это мелочи.

А если мне нужна отдельная страница или диапазон, то не работает.
Добавляю ключ -sPageList=%имя переменной%


md "%cd%\%~n1"
@set /p np="n of page:"
"c:\Program Files\gs\gs9.53.3\bin\gswin64c.exe" -dSAFER -dBatch -dNOPAUSE -sDEVICE=jpeg -dJPEGQ=100 -r200 -sPageList=%np% -sOutputFile="%cd%\%~n1\%%03d.jpg" %1


и начинается непонятное. то распаковывает, то нет. на любых файлах то дает страницу 3, например, то GS пишет, что распаковал, но в каталоге ничего не появилось...

Iska
14-03-2021, 16:43
только по окончании GS не закрывается, как вроде должен, ну это мелочи. »
Не должен.
-dBATCH
Causes Ghostscript to exit after processing all files named on the command line, rather than going into an interactive loop reading PostScript commands. Equivalent to putting -c quit at the end of the command line.
Это же Unix-style, регистр имеет значение.

и начинается непонятное. то распаковывает, то нет. на любых файлах то дает страницу 3, например, то GS пишет, что распаковал, но в каталоге ничего не появилось... »
Попробуйте вывести какую-нибудь закономерность, поскольку у меня работает.

alar73
14-03-2021, 19:50
Спасибо насчет регистра!

По закономерностям, попробовал на другом компе, на котором GS стоит не последний, а 9.15 и 32, а не 64. И начал терять веру в рациональное устройство мира. Там с теми же параметрами вообще шпарит все страницы подряд. Может быть диапазон страниц это свежее что-то в версиях?

Но теперь я попробовал вот эти параметры использовать:

-dFirstPage=%np% -dLastPage=%np%

Так работает.

Iska
15-03-2021, 17:31
alar73, я пробовал на имевшейся у меня gs9.27. И на ней диапазон страниц работает («5», «4-9», «3,5,9»).




© OSzone.net 2001-2012