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