我一直在绞尽脑汁和网络寻找答案,但我能想出的最好的理由是"字体子集":
我们在工作中使用了一台卡片打印机来制作身份证。这些卡片有一个磁条,因此用户可以刷卡并进行复印等。我们当前的软件功能非常缺乏,所以我在node.js中编写自己的软件。因为磁条基本上是一种字体(也就是说,我可以进入Microsoft Word,选择" Track 2"作为字体,并打印带有编码磁条的卡),我认为这很容易要做。
我使用EJS以HTML格式创建卡片(使用CSS网页字体加载TTF)和PhantomJS将其保存为PDF格式。生成的卡看起来很棒,当我查看卡的属性时(通过文件> Adobe Acrobat Pro中的属性),我可以看到该字体已成功嵌入:
当我编辑卡片上的文本对象时,我可以看到字体在那里:
但是当我打印时,磁条不会被编码。字体安装在我的电脑上(因为它与进行打印的电脑相同),所以我不确定原因。正如我在开头段落中所说,我怀疑它与嵌入字体的一个子集有关,但从我所知,这不应该是一个问题。
然后我进入Microsoft Word,创建了一个文档,然后将其另存为PDF。我现在在尝试编辑文本对象时收到此消息:
后跟这个字体:
但是,打印此文档不会写入磁条(但直接从Word打印)
所以我有两个问题:
1)为什么不打印?
2)如果无论如何都无法打印,我该如何生成能够正确打印的PDF(或其他文档)?输出到可打印的文件是必须,因为在年初我有〜1000张卡片要打印(因为他们有当前年份)
编辑:我刚进入一个根本没有字体的文档,编辑了文本对象,然后在可用字体列表中查找了Track 2字体。我只能看到Track 1和Track NTT(不同系统的不同轨道 - 我们需要Track 2)。该字体是明确安装的,因为尝试再次安装它告诉我它已经安装好了,而且我可以从Word打印就好了。
编辑2 :此处a gist containing my code,final card和Word document with that font, converted straight to PDF,其中包含最终卡和测试词 - > PDF文件。
最后一张卡片是颠倒的,因为打印机上下打印。我也试过旋转整个PDF等等,看看它是否是一个方向性的东西,然后将字体复制到我的项目文件夹中并使用src()
加载它但它没有似乎无论如何工作