gpt4 book ai didi

css - Magstrip 字体无法从 PDF 正确打印

转载 作者:行者123 更新时间:2023-11-28 05:47:35 25 4
gpt4 key购买 nike

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

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

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

The embedded font

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

The font when I edit the text object

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

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

Error when editing the object

后跟这个字体:

Fonts shown when editing the text object on a PDF created in Word

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

所以我有两个问题:

1) 为什么不打印?

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

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

No Track 2 listed

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

最后一张卡片是颠倒的,因为打印机打印是颠倒的。我也试过旋转整个 PDF 等看它是否是一个方向的东西,并将字体复制到我的元素文件夹并使用 src() 加载它但它似乎不起作用无论哪种方式

最佳答案

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


这不是特定问题的答案,字体无法在转换为 PDF 后继续存在,但我已经为我的一般问题想出了一个解决方案(无法将任何内容编码到我的卡中)创建)。

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

enter image description here

具体来说,我必须使用这种转义码:

~2%123456?

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

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

关于css - Magstrip 字体无法从 PDF 正确打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37516074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com