Что такое файл PDF bcmap?

Я использую pdfjs viewer в моем веб-приложении, и он поставляется со всеми этими файлами bcmap. Я отследил сетевой трафик, и они не вызываются.

Я действительно не хочу добавлять эти файлы в контроль версий или систему отслеживания проблем b/c их так много, если они не понадобятся.

enter image description here

Что такое файл bcmap?

1 ответов


слово "bcmap" означает "двоичный cmap".

CMaps (символьные карты) - это текстовые файлы, которые используются в PostScript и других продуктах Adobe для сопоставления кодов символов с символами в шрифтах CID.

посмотреть этот документ от Adobe чтобы увидеть, для чего хороши шрифты CID. Они в основном используются при работе с восточноазиатскими системами письма. (Эта технология является устаревшей технологией, поэтому она не должна использоваться в PDF-файлах, созданных modern инструменты)

pdfjs нужен файл CMap, когда он хочет отобразить такие шрифты CID. Для этого вам нужно предоставить CMaps.

вы указываете url-адрес папки, в которой хранятся CMaps через настройки на PDFJS глобальный объект.

  PDFJS.cMapUrl = '../web/cmaps/';

по умолчанию pdfjs попытается загрузить файл с именем требуемого CMap и без расширения, например "../ web / cmaps / Hankaku".

если вы включите параметр cMapPacked как это:

PDFJS.cMapPacked = true;

pdfjs вместо этого попытается прочитать сжатую версию файла CMap с расширением ".bcmap", например "../ web/cmaps / Hankaku.bcmap".

само сжатие выполняется с помощью инструмента в https://github.com/mozilla/pdf.js/tree/master/external/cmapscompress.


заключение: включите файлы и установите PDFJS параметры правильно, если есть возможность, что вам нужно отобразить PDF-файлы с Восточной Азии тексты, созданные устаревшими инструментами создания pdf. Не включайте файлы, если вы уверены, что вам не нужно будет отображать такие файлы.