2016-08-26 2 views
1

gs.exe -dNOPAUSE -dBATCH -sOutputFile=- -dTextAlphaBits=4 -dFirstPage=3 -dLastPage=3 -sDEVICE=jpeg -q -r300 a.pdf'Командная строка ghostscript - страница на файл при использовании канала?

для преобразования PDF в изображение. Я использую знак - для параметра OutputFile для использования канала, как я могу извлечь многостраничный pdf, используя этот способ? Если я укажу %03d с именем выходного файла, я получаю несколько изображений (что хочу), но с трубкой это другое, поэтому я не знаю, как это работает.

ответ

1

Насколько я могу судить, выбираете ли вы трубку как выход, тогда Ghostscript просто выгружает необработанные данные прямо в трубу.

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

Что вы ожидали?

+0

Если я использую эту команду с pdf, которая имеет только одну страницу, я могу сохранить ее как jpg (в python, используя канал с модулем subprocess), и посмотреть изображение. Я ищу способ, которым я могу получить несколько изображений из нескольких страниц pdf, возможно, по страницам или по-другому. – user3599803

+0

Если вы хотите сохранить файл, просто запустите Ghostscript файл. Какая проблема, связать его с stdout и затем записать в файл? Как я уже говорил выше, если вы используете многостраничный ввод и используете stdout, Ghostscript просто отправляет каждое изображение последовательно в stdout. Это зависит от вас, чтобы выяснить, что делать с этим потоком данных. Легкий способ получить несколько изображений - это записать каждую страницу в отдельный файл, поэтому используйте% d и -sOutputFile. Я действительно не понимаю, почему это проблема. – KenS

+0

Потому что я не хочу, чтобы ghostscript сохранял файлы. Я хочу передать данные необработанных изображений на python для дальнейшей обработки. Если изображения передаются последовательно, как я могу «разделить» их в коде python? – user3599803

Смежные вопросы