Как исправить проблему со шрифтом в этом PDF-файле?

Как исправить проблему со шрифтом в этом PDF-файле?

У меня естьPDF-файл, текст которого может быть правильно отображен в evince, но не при поиске текста или копировании и вставке за пределами файла. Например, "внешняя транспортировка." копируется и вставляется за пределами как

2D/28:93 /89:4758/9/.5:

Я создал файл PDF изоригинальная версия файла pdfкоторый работает правильно,

gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=example.pdf original.pdf

Эта команда — мой общий способ исправления различных проблем в PDF-файлах (особенно проблем со шрифтами в PDF-файлах, созданных в Windows).

  1. Почему команда создает проблему? Как мне изменить команду, как общий способ исправления проблем с PDF?
  2. Как мне восстановить текущую версию файла pdf, чтобы можно было искать и копировать и вставлять правильный текст? Файл, который я на самом деле хочу восстановить, был создан таким же образом и с дополнительными изменениями. Я хочу восстановить его, чтобы сохранить изменения.

Спасибо.

решение1

Я прочитал несколько полезных постов на Stack Overflow (1,2,3) похоже, что проблема связана с определенными шрифтами, встроенными в ваш PDF-файл. Ваш исходный файл использует эти шрифты:

$ pdffonts original.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
KPSHBO+Wingdings                     TrueType          Custom           yes yes no       5  0
KNQZHK+Arial                         TrueType          Custom           yes yes no       9  0
YLWHHJ+TimesNewRoman                 TrueType          Custom           yes yes no      13  0
HWNDJR+ArialBlack                    TrueType          Custom           yes yes no      17  0
QQRMEC+TimesNewRoman,Bold            TrueType          Custom           yes yes no      21  0

Я предполагаю (но не знаю наверняка), что проблема, скорее всего, вызвана шрифтом Wingdings. Предположительно, у вас его нет в системе. По крайней мере, из перечисленных шрифтов, это единственный, который я не могу найти у себя:

$ fc-list | grep -f <(pdffonts original.pdf | grep -oP '\+\K[A-Z][a-z]+') | awk '{print $1}'
/usr/share/fonts/TTF/times.ttf:
/usr/share/fonts/TTF/arialbd.ttf:
/usr/share/fonts/TTF/ariblk.ttf:
/usr/share/fonts/TTF/arialbi.ttf:
/usr/share/fonts/TTF/ariali.ttf:
/usr/share/fonts/TTF/timesi.ttf:
/usr/share/fonts/TTF/timesbd.ttf:
/usr/share/fonts/TTF/timesbi.ttf:
/usr/share/fonts/TTF/arial.ttf:

К сожалению, я попытался загрузить шрифт Wingdings с сайтаздесь, затем побежал:

unzip wingdings.zip 
sudo cp Wingdings\ Regular.ttf /usr/share/fonts/TTF/Wingdings.ttf
fc-cache

Который должен был установить шрифт, но gsкоманда все равно не работала. Так что, возможно, gs's pdfwriteвообще не может справиться с этим шрифтом. Так что я не знаю, есть ли способ gsправильно конвертировать ваш файл. Возможно, просто использовать оригинал, в котором нет этой проблемы, — ваш единственный выбор.

Связанный контент