我在我的 Web 应用程序中使用了一个 pdfjs 查看器,它带有所有这些 bcmap 文件。我跟踪了网络流量,并没有要求它们。
我真的不想将这些文件添加到版本控制或问题跟踪系统 b/c 中,如果不需要的话,它们太多了。
什么是一 .bcmap 文件?
“bcmap”一词代表“二进制 cmap”。
CMap(字符映射)是在 PostScript 和其他 Adobe 产品中用于将字符代码映射到 CID 字体中的字符字形的文本文件。
请参阅Adobe 的此文档以了解 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,请包括文件并正确设置选项。如果您确定不需要显示此类文件,请不要包含这些文件。