什么是一 pdf bcmap 文件?

What is a pdf bcmap file?

我在我的 Web 应用程序中使用 pdfjs 查看器,它附带所有这些 bcmap 文件。我跟踪了网络流量,但没有要求它们。

我真的不想将这些文件添加到版本控制或问题跟踪系统中b/c如果不需要的话,它们太多了。

什么是 bcmap 文件?

单词“bcmap”代表“二进制 cmap”。

CMap(字符映射)是 PostScript 和其他 Adob​​e 产品中用于将字符代码映射到 CID 字体中的字符字形的文本文件。

请参阅 this document by Adobe 了解 CID 字体的适用之处。它们主要用于处理东亚书写系统。 (此技术是遗留技术,因此不应在现代工具创建的pdf中使用)

pdfjs 要显示此类CID 字体时需要CMap 文件。为此,您需要提供 CMap。

您通过 PDFJS 全局对象上的设置将 url 指定为存储 CMap 的文件夹。

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

默认情况下,pdfjs 将尝试加载具有所需 CMap 名称且没有扩展名的文件,例如“../web/cmaps/Hankaku”。

如果您像这样启用设置 cMapPacked

PDFJS.cMapPacked = true;

pdfjs 将尝试读取扩展名为“.bcmap”的 CMap 文件的压缩版本,例如“../web/cmaps/Hankaku.bcmap”。

压缩本身是使用 https://github.com/mozilla/pdf.js/tree/master/external/cmapscompress 处的工具完成的。


结论:如果您可能需要显示由旧版 pdf 创建工具创建的包含东亚文本的 pdf,请正确包含这些文件并设置 PDFJS 选项。如果您确定不需要显示此类文件,请不要包含这些文件。