Как использовать ghostscript, чтобы проверить, преобразован ли pdf в pdf / a? - PullRequest
0 голосов
/ 01 апреля 2020

Я искал ответ, но все, что я мог найти, это как конвертировать pdf в pdf / a, что я и делаю. Теперь мне нужно выяснить, конвертирован ли pdf, чтобы предотвратить ненужное повторное преобразование. Прямо сейчас я использую Aspose, чтобы проверить, преобразован ли pdf, но он не всегда работает правильно. Или, может быть, есть другой подход с pdfbox или itext?

Заранее спасибо за помощь.

1 Ответ

3 голосов
/ 01 апреля 2020

Ghostscript не является средством проверки, он не сообщит вам, является ли PDF-файл PDF / файлом. Не в последнюю очередь потому, что Ghostscript это не волнует.

[отредактировано в ответ на комментарий ниже]

Вы не указали ColorConversionStrategy, указание ProcessColorModel недостаточно (и действительно не требуется). Для PDF / A вам (как правило) потребуется предоставить ColorConversionStrategy, если вы не уверены, что ваш входной файл использует исключительно независимые от устройства цветовые пространства.

В вашей командной строке не должно быть входного файла pdfa_def.ps , Этот файл важен (и вы должны изменить его соответствующим образом), если вы не предоставите это или эквивалентное программирование, тогда ваш файл PDF / A не будет содержать OutputIntent и, если он использует какой-либо цвет устройства пробел, не будет действительным.

Не (действительно, серьезно, не) используйте -dNOSAFER. Для ввода PDF не должно быть необходимости делать это, и это открывает вам уязвимости безопасности.

Ваша командная строка содержит -c -quit, что неверно и должно вызвать ошибку. Вы действительно имеете в виду -c quit, и вам все равно не нужно этого делать. Просто оставьте это.

Документацию по созданию файла PDF / A можно найти в Интернете here или в ghostpdl / doc / VectorDevices.htm # PDFA Обратите внимание на 4-й пункт;

Укажите файл определения PDF / A перед запуском входного документа.

...