Ghostscript PDF to PNG: вывод всегда 595x842 (A4)


Я пытаюсь конвертировать PDF в PNG, но выходное изображение всегда A4, однако исходный PDF очень огромен. Вот мои команды:

-dNOPAUSE ^
-dBATCH ^
-dSAFER ^
-sDEVICE=png16m ^
-dFirstPage=1 ^
-sOutputFile="D:PDF.png" ^
 "D:PDF.pdf" ^
-sPAPERSIZE=a1

Я попробовал несколько вариантов (- r, -g, - sDEFAULTPAPERSIZE), но ни один не сработал.

Как я могу заставить выходные размеры изображения?

P. S: Мой PDF-файл

1 4

1 ответ:

Ваш связанный с PDF файл имеет только 1 страницу. Это означает, что ваш параметр командной строки -dFirstPage=1 не имеет никакого влияния.

Кроме того, ваш параметр -sPAPERSIZE=a1 не должен быть последним (здесь он не имеет никакого влияния-поэтому Ghostscript принимает размер по умолчанию из размера страницы входного PDF, который равен A4). Вместо этого он должен появиться где-то перед "D:\PDF.pdf" (который должен быть последним).

Похоже, что вы хотите PNG размером A1, а ваша ОС-Windows (догадка из частичного командная строка вам предоставлена)?

Попробуйте вместо этого (он добавляет -dPDFFitPage=true в командную строку и помещает аргументы в правильном порядке, а также сокращает его немного, используя трюк -o):

gswin32c.exe ^
  -o "D:\PDF.png ^
  -sDEVICE=png16m ^
  -sPAPERSIZE=a1 ^
  -dPDFFitPage=true ^
   "D:\PDF.pdf"

Это должно дать вам PNG размером 1684x2384 пикселя на 72dpi (который является встроенным по умолчанию для всех выходных изображений Ghostscript, используемых, если не указано другое разрешение). Для различных комбинаций разрешения и размера страницы добавьте свой вариант -rXXX и -gNNNxMMM (вместо -sPAPERSIZE=a1) но непременно сохраняйте свое -dPDFFitPage=true....

Можно также сохранить -sPAPERSIZE=a1 и добавить -r100 или -r36 или -r200, Если требуется только другое разрешение. Имейте в виду, что увеличение разрешения не может улучшить качество изображения по сравнению с выходом по умолчанию 72dpi. Это зависит от разрешения изображений, которые были встроены в страницу PDF. Но это, безусловно, увеличивает размер файла...