Проблема преобразования шрифта Ghostscript

Все,

У меня проблема со шрифтом в PDF-файле. В оригинале это сплошная линия, но если я скопирую ее, я получу ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ в буфере обмена.

Это указывает на то, что используется какой-то специальный шрифт, и это было бы хорошо. Проблема в том, что я использую этот PDF-файл в качестве входных данных для ghostscript, и строка превращается в набор прямоугольников с X в них. Строка в pdf

Коробки в pdf

После некоторого поиска я наткнулся на этот ответ. Команда -c успешно удаляет поля, но строка все еще отсутствует.

Запустив gswin64c.exe -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf USA_15238-2897_5853101.pdf в 64-битной системе Windows 7, я получаю следующий результат:

GPL Ghostscript 9.04 (2011-08-05)
Copyright (C) 2011 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
Substituting font Courier-Bold for CourierNew,Bold.
Loading NimbusMonL-Bold font from %rom%Resource/Font/NimbusMonL-Bold... 3825552 2503053 2085544
 779106 3 done.
Substituting font Courier for CourierNew.
Loading NimbusMonL-Regu font from %rom%Resource/Font/NimbusMonL-Regu... 3986304 2660967 2146096
 844377 3 done.
Can't find (or can't open) font file %rom%Resource/Font/ArialMT.
Can't find (or can't open) font file ArialMT.
Can't find (or can't open) font file %rom%Resource/Font/ArialMT.
Can't find (or can't open) font file ArialMT.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Helvetica for ArialMT.
Loading NimbusSanL-Regu font from %rom%Resource/Font/NimbusSanL-Regu... 4100320 2785188 2226832
 918025 3 done.
Page 2
Substituting font Courier-Bold for CourierNew,Bold.
Substituting font Courier for CourierNew.

Добавление папки шрифтов Windows в качестве переключателя пути к шрифтам позволяет находить шрифты, , но не устраняет проблему со строкой в ​​ящиках.

Запуск gswin64c.exe -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" -f USA_15238-2897_5853101.pdf дает следующее:

GPL Ghostscript 9.04 (2011-08-05)
Copyright (C) 2011 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
Substituting font Courier-Bold for CourierNew,Bold.
Loading NimbusMonL-Bold font from %rom%Resource/Font/NimbusMonL-Bold... 3825552 2503973 2105728
 793286 3 done.
Substituting font Courier for CourierNew.
Loading NimbusMonL-Regu font from %rom%Resource/Font/NimbusMonL-Regu... 3986304 2661903 2166280
 858469 3 done.
Can't find (or can't open) font file %rom%Resource/Font/ArialMT.
Can't find (or can't open) font file ArialMT.
Can't find (or can't open) font file %rom%Resource/Font/ArialMT.
Can't find (or can't open) font file ArialMT.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Helvetica for ArialMT.
Loading NimbusSanL-Regu font from %rom%Resource/Font/NimbusSanL-Regu... 4100320 2786124 2247016
 932205 3 done.
Page 2
Substituting font Courier-Bold for CourierNew,Bold.
Substituting font Courier for CourierNew.

Но строка теперь в pdf пробелы. Если я скопирую и вставлю его, я получу ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─.

Какой переключатель ghostscript мне нужно добавить, чтобы сохранить строку из исходного PDF-файла?


person Spencer Rathbun    schedule 01.03.2012    source источник


Ответы (1)


Невозможно сказать, что происходит, не увидев файл PDF. Имейте в виду, что копирование + вставка никогда не гарантируется, особенно после преобразования в PDF с помощью Ghostscript.

Если у вас уже есть файл PDF, зачем вы конвертируете его в PDF?

Наиболее вероятная проблема заключается в замене Courier на Courier-New, но, не увидев файл, я не могу быть уверен.

person KenS    schedule 02.03.2012
comment
Я использую Ghostscript, чтобы объединить несколько из этих PDF-файлов. Меня не интересует копирование и вставка, меня волнует внешний вид. Я только что упомянул копирование, потому что это, кажется, указывает на то, что для создания линии используется шрифт Unicode вместо векторной графики. Я не могу предоставить исходный PDF-файл, так как он содержит конфиденциальные данные. В чем разница между Courier и Courier-New? - person Spencer Rathbun; 02.03.2012
comment
Я собираюсь принять это как ответ, поскольку это была замена шрифта Courier. Спасибо, что указали мне правильное направление. - person Spencer Rathbun; 02.03.2012
comment
но какой переключатель в ghostscript исправил подстановку шрифта courier? - person Joe; 25.04.2013
comment
Почти наверняка переключателя не было, но добавление объявления шрифта для Courier-New сработает при условии, что шрифт Courier-New имеет правильный глиф в требуемой кодовой точке. Обратите внимание, что Ghostscript будет заменять шрифты только в том случае, если шрифт отсутствует во входном файле, и вы не сказали ему, где найти именованную альтернативу. - person KenS; 25.04.2013