Два ученых сказали, что они использовали Ghostscript для проверки PDF-файлов. Их крипти c объяснение техники: «Чтобы Ghostscript работал как валидатор, мы просто конвертировали файлы PDF в« Нет »». В слайд-шоу они добавили, что «None» был «фиктивным результатом, без реального вывода», и что преобразование в None »выводит найденные ошибки."
Я хотел бы использовать Ghostscript аналогичным образом, а также хотел бы немного узнать о Ghostscript в процессе, для будущих приложений. Мой обзор документации Ghostscript и предыдущего ответа StackOverflow побудил меня попробовать это (используя Ghostscript Portable 9.50 в Windows 7 виртуальной машине) :
gswin64c.exe -o /dev/null -dNODISPLAY "C:\PDFs\Badfile.pdf" > "C:\Results.txt"
Я приветствую предложения о том, является ли это лучшей командой для этой цели. Мои вопросы здесь связаны с тем, что Results.txt говорит о Badfile.pdf. Вот содержимое файла Results.txt:
GPL Ghostscript 9.50 (2019-10-15)
Copyright (C) 2019 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
**** Error: An error occurred while reading an XREF table.
**** The file has been damaged. This may have been caused
**** by a problem while converting or transfering the file.
**** Ghostscript will attempt to recover the data.
**** However, the output may be incorrect.
No pages will be processed (FirstPage > LastPage).
**** This file had errors that were repaired or ignored.
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
**** The rendered output from this file may be incorrect.
Мои вопросы:
(1) Должен ли я интерпретировать этот вывод как сообщение о том, что проблема таблицы XREF является единственной проблемой в этом файле, или могут быть другие неуказанные проблемы? Если последнее, могу ли я изменить команду, чтобы получить более точное указание c о значении Results.txt, когда оно сообщает, что Badfile.pdf «не соответствует опубликованной спецификации Adobe в формате PDF»?
( 2) «Файл был поврежден. Это могло быть вызвано проблемой при преобразовании или передаче файла». Означает ли это, что для некоторых помеченных PDF-файлов проблемы, выявленные Ghostscript, могут быть связаны с самим Ghostscript?
(3) «Ghostscript попытается восстановить данные ... В этом файле были ошибки, которые были исправлены или игнорируется. " Могу ли я предположить, что оперативное слово «игнорируется» - что, как и в процедуре, используемой этими двумя учеными, Ghostscript на самом деле не пытается восстановить данные, и моя команда выдает «нет реального вывода»?
(4) Для некоторых целей может потребоваться вывод в виде однострочной сводной формы. Например, опция валидатора JHOVE PDF audit может создать строку, содержащую имя файла, MD5 ha sh и утверждение, является ли файл PDF действительным. Учитывая вывод ученых о том, что у JHOVE есть проблемы, было бы полезно, если бы я мог поместить результаты Ghostscript в электронную таблицу для сравнения.
Я понимаю, что Ghostscript может не иметь всего этого, и я ценю то, что уже получил от него. , Но если я что-то упустил, я хотел бы знать. Спасибо за любой свет, который вы можете пролить.