【问题标题】:Magstrip font doesn't print correctly from PDFMagstrip 字体无法从 PDF 正确打印
【发布时间】:2016-05-30 00:01:55
【问题描述】:

我一直在绞尽脑汁和上网寻找答案,但我能想到的最好理由是“字体子集”:

我们有一台用于制作身份证的卡片打印机。这些卡片有一个磁条,因此用户可以刷卡和复印等。我们目前的软件非常缺乏功能,所以我在 node.js 中编写自己的。因为磁条本质上是一种字体(也就是说,我可以进入 Microsoft Word,选择“Track 2”作为字体,然后打印一张带有编码磁条的卡片),我认为这很容易做到。

我使用 EJS 在 HTML 中创建卡片(使用 CSS 网络字体加载 TTF)和 PhantomJS 将其保存为 PDF。生成的卡片看起来很棒,当我查看卡片的属性时(通过 Adob​​e Acrobat Pro 中的文件 > 属性),我可以看到字体已成功嵌入:

当我编辑卡片上的文本对象时,我可以看到字体在那里:

但是当我打印时,磁条没有被编码。该字体安装在我的 PC 上(因为它是进行打印的同一台 PC),所以我不知道为什么。正如我在开头段落中所说,我怀疑它与嵌入的字体子集有关,但据我所知,这应该不是问题。

然后我进入 Microsoft Word,创建了一个文档,然后将其保存为 PDF。我现在在尝试编辑文本对象时收到此消息:

后跟这个字体:

但是打印此文档不会写入磁条(但直接从 Word 打印会)

所以我有两个问题:

1) 为什么不打印?

2) 如果无论如何都无法打印,如何生成可以正确打印的 PDF(或其他文档)? 必须输出到可打印的文件,因为在年初我有大约 1000 张卡片要打印(因为上面有当前年份)

编辑:我刚刚进入一个根本没有字体的文档,编辑了文本对象,然后在可用字体列表中查找了 Track 2 字体。我只能看到 Track 1 和 Track NTT(不同系统的不同轨道——我们需要 Track 2)。字体肯定已安装,因为尝试再次安装它会告诉我它已经安装,而且我可以从 Word 打印就好了。

编辑 2:这是a gist containing my codefinal cardWord document with that font, converted straight to PDF,带有最终卡片和测试 Word -> PDF 文档。

最后一张卡片是上下颠倒的,因为打印机打印是上下颠倒的。我还尝试旋转整个 PDF 等,看看它是否是一个方向的东西,并将字体复制到我的项目文件夹中并使用 src() 加载它,但它似乎不起作用

【问题讨论】:

  • 我可能看多了,但您使用的是哪个版本的 Acrobat Pro?
  • @MaxWyss Acrobat X(具体为 v10.1.13)
  • 在 Acrobat DC 之前,我个人在 Acrobat 中没有很好的字体和编辑 PDF 经验;因此,您可以尝试 Acrobat DC 并查看是否可以访问该字体。
  • 您是否有示例 PDF 文件,以便我们查看字体是如何嵌入到您创建的 PDF 文件中的?
  • 对于大多数证卡打印机,磁条字体是占位符。当证卡打印机驱动程序看到使用此字体的文本时,它会将文本发送到磁条编码器,而不是渲染文本。当 Acrobat 将数据从 PDF 发送到证卡打印机驱动程序时,它可能没有正确地将 TrueType 字体映射到证卡打印机设备字体。如果您能告诉我们更多关于证卡打印机型号的信息,我们可以调查磁条设备字体的名称并将其与 TrueType 字体名称进行比较。

标签: css pdf printing fonts


【解决方案1】:

编辑:实际上,这也引起了问题。我猜该文档是作为打印机无法检查并查找字体或转义码的东西发送的。回到绘图板上!


这不是针对特定问题的答案,其中字体无法在过渡到 PDF 后幸存下来,但我已经为我的一般问题提出了解决方案(无法将任何内容编码到我拥有的卡上)创建)。

我的解决方案是在高级打印机属性中打开Magstripe Escape Code Compatibility,然后使用其中一个转义码写入数据。

具体来说,我不得不使用这种转义码:

~2%123456?

~2 表示轨道号,% 表示要编码的序列的开始,? 表示序列的结束。

我不会将此标记为答案,因为我很想知道为什么字体在 PDF 中不起作用,但对于遇到类似问题并需要修复的其他人来说,就是这样.

【讨论】:

    猜你喜欢
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    相关资源
    最近更新 更多