Чтение файла PDF для тестирования в GhostScript?

6

Этот вопрос связан с этим - Инструментарий / инструмент для проверки PDF?

Я установил «ghostscript» в своей системе Windows, и он выдает подсказку для ввода. Я не уверен, что мне следует делать дальше, чтобы прочитать существующие PDF-файлы, которые я хочу проверить (чтобы узнать, были сформированы правильно).

siliconpi
источник
Вопрос неясный, чтобы ответить. Что вы пытаетесь сделать? Просто посмотреть PDF? Если так, то используйте ghostview, а не ghostscript - или просто используйте Adobe Reader, который является стандартом.
frabjous
Мне нужно проверить, правильно ли сформированы загруженные мной PDF-файлы. Их сотни, и некоторые из них могли сломаться во время передачи файла. Adobe Reader очень простителен и открывает их без проблем, но я не могу проверить каждую страницу каждого документа, чтобы увидеть, все ли в порядке ...
siliconpi
Вы пробовали исправленную команду, как указано в моем последнем комментарии ниже?
Kurt Pfeifle

Ответы:

7

Если вы используете Ghostscript в Windows, у вас будет два исполняемых файла:

  1. gswin32c.exe
  2. gswin32.exe

Первый должен быть запущен из «коробки DOS» (т.е. cmd.exe окно) - либо интерактивно, либо нет. Он печатает все сообщения stderr / stdout в окне cmd.exe, а также ожидает ввода любых команд ввода.

Второй открывает отдельное окно для «интерактивности»: печатает stderr / stdout в отдельное окно и ожидает там команды.

Чтобы избежать «подсказать» Вы должны использовать правильные параметры командной строки при вызове одной из команд. Например:

gswin32c.exe -dBATCH -dNOPAUSE

-dNOPAUSE обрабатывает все страницы входного файла (вместо остановки после каждой). -dBATCH избегает возврата к gs> подскажите после последней страницы.

полная команда для Ghostscript, чтобы проверить ваш PDF будет (внутри коробки DOS) для запуска

gswin32c -o nul -sDEVICE=nullpage c:/path/to/input.pdf

( -o параметр неявно использует -dBATCH -dNOPAUSE.) -sDEVICE=nullpage не выполняет никаких преобразований и не записывает выходной файл. Но это заставляет Ghostscript запускать все команды рендеринга входного PDF. Если ввод неверен, Ghostscript сообщит вам с помощью сообщений stdout / stderr

Kurt Pfeifle
источник
1
Хм - кажется, с опцией -o, он не сохраняет сообщения stdout / error. Если я удаляю его, он запрашивает меня для каждой страницы (как при отсутствии ошибок, так и когда они есть)
siliconpi
1
@matt_tm: извините, моя ошибка. -o nul кажется направить все вывод на nul устройство. Не использовать -o затем. использование gs -dBATCH -dNOPAUSE -sDEVICE=nullpage /path/to/input.pdf (Linux) или gswin32c -dNOPAUSE -sDEVICE=nullpage c:/path/to/input.pdf (Windows).
Kurt Pfeifle
@ matt74tm: Тем временем вы пробовали мою измененную команду?
Kurt Pfeifle
@KurtPfeifle Я пробовал, это работает.
Vnuk
FWIW, -o nul с версией 9.02 (x64) на моей машине с Win7 отображаются информация и сообщения об ошибках.
matt wilkie