Вопрос:
Я использую Ghostscript для преобразования моих файлов PDF в JPEG с Ghostscript, который отлично работает.
Для моих выходных изображений я использую %03d в имени файла, поэтому имена файлов выходят 001, 002… и т.д. в соответствии с номерами страниц.
Но я хочу, чтобы в некоторых случаях числа начинались с большего числа.
Например, я обрабатываю файл с двумя страницами, поэтому выходные изображения page001.jpg, page002.jpg
Теперь я хочу обработать другой PDF файл и вместо того, чтобы заменять эти файлы, я хочу создать page003.jpg, page004.jpg.
Как это можно сделать?
Это моя полная командная строка, которую я использую сейчас:
‘C:gsgs9.14bin gswin64c -dNOPAUSE -sDEVICE=png16m -sOutputFile=page-%03d.jpg -r100x100 -q’ . $pdf_file. ‘-c quit’ Ответ №1
Вот обходной трюк, который вы могли бы использовать:
gswin64c.exe ^ -sDEVICE=png16m ^ -sOutputFile=page-%03d.jpg ^ -r100x100 ^ -c «showpage showpage» ^ -f filename.pdf
-c «showpage showpage» вставляет две пустые страницы в выходной файл. Выходные файлы будут называться
page-001.jpg + page-002.jpg + page-003.jpg + page-004.jpg
Итак, первые два представляют собой только белые изображения и впоследствии должны быть удалены.
Вы можете расширить эту команду с помощью любого количества пустых страниц, которые вы хотите.
Update
Конечно, если вы заранее знаете, что хотите конвертировать несколько разных PDF файлов в изображения, где вы хотите, чтобы подсчет нового PDF файла продолжался точно с того места, где закончился последний PDF файл, вы можете сделать это:
gswin64c.exe ^ -sDEVICE=jpeg ^ -sOutputFile=page-%03d.jpg ^ -r100x100 ^ -f file1.pdf ^ -f file2.pdf ^ -f file3.pdf ^ -f […]
BTW, ваша исходная команда запрашивает суффиксы файлов .jpg, а устройство Ghostscript – png16m. Это не соответствует. Сначала я слепо скопировал вашу команду, но теперь я ее исправил.
Ответ №2
Вы не можете сделать это со стандартной версией Ghostscript, номера выходных файлов задаются как номер страницы с ошибкой (так что если у вас есть файл с 10 страницами, с /NumCOpies 2, вы получите файлы с номерами от 0 до 19).
Конечно, вы можете обрабатывать два файла в одной и той же командной строке, я думаю, что это даст вам второй файл с номерами страниц, начиная с которых первый набор остановился.
В противном случае вам придется изменить исходный код устройства Ghostscript.