Конвертирование PDF в JPEG с использованием Ghostscript

Вопрос:

Я использую 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'

Ответ №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.

Оцените статью
TechArks.Ru
Добавить комментарий