13

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

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

在此处输入图像描述

什么是一 .bcmap 文件?

4

1 回答 1

19

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

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

请参阅Adob​​e 的此文档以了解 CID 字体的用途。它们主要用于处理东亚书写系统。(这项技术是一项遗留技术,因此不应在现代工具创建的 pdf 中使用它)

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

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

  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上的工具完成的。


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

于 2016-11-16T14:31:49.487 回答