Я использую Ghostscript для преобразования моих файлов PDF в JPEG с Ghostscript, который отлично работает.
Для моих выходных изображений я использую %03d
в имени файла, поэтому имена файлов выходят 001
, 002
… и т.д. в соответствии с номерами страниц.
Но я хочу, чтобы в некоторых случаях числа начинались с большего числа.
Например, я обрабатываю файл с двумя страницами, поэтому выходные изображения page001.jpg
, page002.jpg
Теперь я хочу обработать другой PDF файл и вместо того, чтобы заменять эти файлы, я хочу создать page003.jpg
, page004.jpg
.
Как это можно сделать?
Это моя полная командная строка, которую я использую сейчас:
'C:\gs\gs9.14\bin \gswin64c -dNOPAUSE -sDEVICE=png16m \
-sOutputFile=page-%03d.jpg -r100x100 -q' . $pdf_file. '-c quit'
Вот обходной трюк, который вы могли бы использовать:
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
. Это не соответствует. Сначала я слепо скопировал вашу команду, но теперь я ее исправил.
Вы не можете сделать это со стандартной версией Ghostscript, номера выходных файлов задаются как номер страницы с ошибкой (так что если у вас есть файл с 10 страницами, с /NumCOpies 2, вы получите файлы с номерами от 0 до 19).
Конечно, вы можете обрабатывать два файла в одной и той же командной строке, я думаю, что это даст вам второй файл с номерами страниц, начиная с которых первый набор остановился.
В противном случае вам придется изменить исходный код устройства Ghostscript.