【问题标题】:What is a pdf bcmap file?什么是 pdf bcmap 文件?
【发布时间】:2015-12-22 06:12:30
【问题描述】:

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

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

什么是 bcmap 文件?

【问题讨论】:

  • 文件名暗示了 CJK 字体编码,in an Adobe blog post 使用了术语“基本字符”。 ...您还没有足够的好奇心打开其中一个文件并查看其中吗?
  • cmap/bcmap 文件仅在某些 PDF 中需要/加载。如果您不打算使用/显示它们,您可以删除这些文件。

标签: pdf file-type pdfjs


【解决方案1】:

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

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

请参阅this document by 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 的工具完成的。


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

【讨论】:

    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多