Во-первых, Ghostscript объявил это не «ошибкой», а «предупреждением». Это большая разница.
Во-вторых, вы попросили Ghostscript вывести первую страницу входного PDF-файла. Это сработало? Видите ли вы какие-либо видимые различия при сравнении output.pdf и первой страницы input.pdf?
В-третьих, если действительно есть проблема, вы должны указать, какую версию Ghostscript вы используете. самый последний - 8.71.
Обновление: Конечно, StackOverflowNewbie уже намекнул на версию Ghostscript, процитировав предупреждающее сообщение ...
«Предупреждение» означает: может быть проблема с выходным файлом (который сам по себе все еще является действующим PDF-файлом), но вам лучше проверить его.
«Ошибка» означает: проблема с выводом, безусловно, есть, и Ghostscript прервет всю дальнейшую обработку; выход, скорее всего, даже не действительный PDF-файл.
Есть много разных методов для дальнейшей отладки проблемы. Но невозможно дать какой-либо совет по набору гвоздей, если вы не видите нужных файлов. StackOverflowNewbie сообщает, что страница вывода отличается от входной.
Итак, вот кувалда, которую можно использовать: добавьте -dDEBUG
в командную строку:
gs \
-sOutputFile=output.pdf \
-dDEBUG \
-dLastPage=1 \
-sDEVICE=pdfwrite \
input.pdf
Предостережения! Это потенциально приведет к появлению огромного количества вывода stderr / stdout на вашей консоли.
Если вы уже знаете или имеете определенную подсказку, где именно может быть корень проблемы (что вы, вероятно, могли бы даже предположить, глядя на визуальные различия между входным и выходным PDF-файлом), вы можете сузить его, используя (вместо -dDEBUG) одно из следующих по порядку:
-dPDFDEBUG # (debug PDF Interpreter)
-dPDFWRDEBUG # (debug PDF Writer)
-dTTFDEBUG # (debug TTF Fonts)
-dCCFONTDEBUG # (debug compiled-in Fonts)
-dFAPIDEBUG # (debug Font API)
-dCFFDEBUG # (debug CFF Fonts)
-dCMAPDEBUG # (debug CMAP)
-dDOCIEDEBUG # (debug CIE color)
-dSETPDDEBUG # (debug setpagedevice)
-dSTRESDEBUG # (debug Static Resources)
-dVGIFDEBUG # (debug ViewGIF)
-dVJPGDEBUG # (debug ViewJPEG)
-dINITDEBUG # (debug Initialization)
-dEPSDEBUG # (debug EPS handling)
-dPDFOPTDEBUG # (debug PDF Optimizer/Linearizer)
Кроме того, поскольку в предупреждении упоминается шрифт Arial-BoldMT
, вам следует сначала проверить статус встроенного шрифта на обоих страницах ввода и вывода с помощью pdfinfo
и pdffonts
:
pdfinfo -f 1 -l 1 -box input.pdf
pdfinfo -box output.pdf
pdffonts -f 1 -l 1 input.pdf
pdffonts output.pdf
Обновление2:
Вы можете попытаться извлечь шрифт (ы) из исходного PDF-файла для дальнейшего изучения. (Если вы не знаете, как это сделать, задайте новые отдельные вопросы SO, такие как «Как мне извлечь шрифты из PDF-файла для дальнейшего анализа?» и «Как я могу исследовать шрифт для внутренних ошибок? ")
person
Kurt Pfeifle
schedule
17.09.2010
Arial-BoldMT
неправильно встроено. Появляются таблицы 'loca', например. в шрифтах OpenType и представить указатель местоположений глифов. Таким образом, рассматриваемый подмножество шрифта, по-видимому, требует 188 глифов в соответствии с таблицей, но содержит только 93 фактических описания формы глифа. - person Kurt Pfeifle   schedule 18.09.2010