Я работаю с Qt (5.6.3) и Poppler (0.64) и заметил, что редко некоторые PDF-файлы отображаются некорректно. Под этим я подразумеваю, что некоторая часть текста отсутствует, и Qt Output выводит несколько таких сообщений:
"Error: Couldn't find a font for 'TimesNewRomanPS-ItalicMT'""Error: Couldn't find a font for 'ArialMT'""Error: Couldn't find a font for 'Tahoma'""Error: Couldn't find a font for 'TimesNewRomanPSMT'"
Я проверил исходники Poppler и скомпилировал некоторую отладку, и кажется, что никакие шрифты не найдены в качестве замены, но не могу найти причину. Эта проблема появляется только на Mac (и, видимо, на каждом Mac, не только на моем), и, похоже, отлично работает на Windows.
Я провел много исследований по этой проблеме без какого-либо рабочего решения, однако обнаружил, что реэкспорт PDF с предварительным просмотром исправит это.
Вот что я получаю раньше с помощью pdffonts:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
PIWIBO+Calibri TrueType WinAnsi yes yes yes 132 0
FTRVRI+Calibri-Light TrueType WinAnsi yes yes yes 134 0
Tahoma TrueType WinAnsi no no no 136 0
TimesNewRomanPSMT TrueType WinAnsi no no no 138 0
TimesNewRomanPS-ItalicMT TrueType WinAnsi no no no 20 0
ArialMT TrueType WinAnsi no no no 24 0
И после:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
GMURNC+Calibri-Light TrueType WinAnsi yes yes yes 12 0
JFEMKX+Calibri TrueType WinAnsi yes yes yes 9 0
XAXQGU+Tahoma TrueType MacRoman yes yes no 13 0
BRXRJF+TimesNewRomanPSMT TrueType MacRoman yes yes no 14 0
FXHUHA+TimesNewRomanPS-ItalicMT TrueType MacRoman yes yes no 23 0
VPBUTQ+ArialMT TrueType MacRoman yes yes no 31 0
Если кто-то знает или уже сталкивался с этой проблемой, я буду благодарен за помощь, спасибо.
PS: по некоторым причинам я не могу дать вам PDF, но я могу попытаться воспроизвести проблему с помощью специального PDF, если это необходимо.
Задача ещё не решена.
Других решений пока нет …